java如何将dmp文件导入到oracle数据库中? 10
数据库中已经有这张表,要将dmp的数据导入到这张表中,谁有这个例子啊!说一下思路也行,最好有例子。我的邮箱:306039215@qq.com我说的是用java程序导入...
数据库中已经有这张表,要将dmp的数据导入到这张表中,谁有这个例子啊!说一下思路也行,最好有例子。我的邮箱:306039215@qq.com
我说的是用java程序导入 展开
我说的是用java程序导入 展开
展开全部
这个问题要先注意:oracle是不能用语句直接导出的,而常规的导出办法是用cmd的DOS命令来操作,之前我已经试过了,具体代码如下:
try {
//获取备份路径
SystemSetting ss=App.getSystemSetting("datebase_bak");
String bakpath=ss.getSettingValue();
//判断路径是否存在,不存在创建
java.io.File ff=new java.io.File(bakpath);
if(!ff.exists()&&!ff.isDirectory()){
ff.mkdir();
}
//备份操作开始
String baksql="";//备份语句
String dburl=App.getConfigValue("db.url");
String dataBaseName="";//数据库名称
//oracle中数据库名放在最后
String[] newDBurlStrings=dburl.split(":");
dataBaseName=newDBurlStrings[newDBurlStrings.length-1].toUpperCase();
Calendar now = Calendar.getInstance();
//备份文件名称(数据库名+年月日)
String baknameString=dataBaseName+now.get(Calendar.YEAR)+now.get(Calendar.MONTH)+now.get(Calendar.DAY_OF_MONTH)+".dmp";
//如果已存在当天的备份先删除之前的备份
java.io.File bakfile=new java.io.File(bakpath+baknameString);
if(bakfile.exists()){
bakfile.delete();
}
String username=App.getConfigValue("db.username");
String password=App.getConfigValue("db.password");
baksql="exp "+username+"/"+password+"@"+dataBaseName+" file="+bakpath+baknameString+" full=y";
//oracle无法用sql语句进行备份只能通过cmd命令备份
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(baksql);
//p.destroy();
} catch (Exception e) {
logger.debug("数据库备份出现异常:"+e.getMessage());
return NONE;
}
大致是这样,其他的你修改下就可以了
try {
//获取备份路径
SystemSetting ss=App.getSystemSetting("datebase_bak");
String bakpath=ss.getSettingValue();
//判断路径是否存在,不存在创建
java.io.File ff=new java.io.File(bakpath);
if(!ff.exists()&&!ff.isDirectory()){
ff.mkdir();
}
//备份操作开始
String baksql="";//备份语句
String dburl=App.getConfigValue("db.url");
String dataBaseName="";//数据库名称
//oracle中数据库名放在最后
String[] newDBurlStrings=dburl.split(":");
dataBaseName=newDBurlStrings[newDBurlStrings.length-1].toUpperCase();
Calendar now = Calendar.getInstance();
//备份文件名称(数据库名+年月日)
String baknameString=dataBaseName+now.get(Calendar.YEAR)+now.get(Calendar.MONTH)+now.get(Calendar.DAY_OF_MONTH)+".dmp";
//如果已存在当天的备份先删除之前的备份
java.io.File bakfile=new java.io.File(bakpath+baknameString);
if(bakfile.exists()){
bakfile.delete();
}
String username=App.getConfigValue("db.username");
String password=App.getConfigValue("db.password");
baksql="exp "+username+"/"+password+"@"+dataBaseName+" file="+bakpath+baknameString+" full=y";
//oracle无法用sql语句进行备份只能通过cmd命令备份
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(baksql);
//p.destroy();
} catch (Exception e) {
logger.debug("数据库备份出现异常:"+e.getMessage());
return NONE;
}
大致是这样,其他的你修改下就可以了
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
上海今至电子科技有限公司,是一家从事运维服务、系统集成和网络工程的专业公司。业务涵盖IT解决方案、网络工程、应用软件开发、系统集成、服务器虚拟化、桌面虚拟化、高性能运算、负载均衡、数据容灾备份、服务外包、IT运维等。我们的理念:诚信为本,服...
点击进入详情页
本回答由今至电子科技有限公司提供
展开全部
可以通过Java的Runtime,
Runtime runtime = Runtime.getRuntime();
至于导入要看你的运行环境,windows的话可以通过调用cmd.exe。如:
runtime.exec(“cmd /c start 。。。”);
还要考虑连接的数据库是远程还是本地,
最后给你一个完整连接远程的实现方法,本地就把ip换成本地就行
Runtime runtime = Runtime.getRuntime();
runtime.exec(“cmd /c start imp 数据库登录名/数据库登录密码@要连接的IP:端口号/服务名 file=dmp文件路径 ”);
具体情况根据你的情况更改
Runtime runtime = Runtime.getRuntime();
至于导入要看你的运行环境,windows的话可以通过调用cmd.exe。如:
runtime.exec(“cmd /c start 。。。”);
还要考虑连接的数据库是远程还是本地,
最后给你一个完整连接远程的实现方法,本地就把ip换成本地就行
Runtime runtime = Runtime.getRuntime();
runtime.exec(“cmd /c start imp 数据库登录名/数据库登录密码@要连接的IP:端口号/服务名 file=dmp文件路径 ”);
具体情况根据你的情况更改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
plsql developer就可以 登录后工具--》导入表--》在下边选择dmp文件--》点击导入
追问
用java怎么导入? 还有就是导入的时候显示导入信息,可以说是进度条。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用plsql 打开你的数据库 然后工具--》导入表--》浏览 导入
追问
用java怎么导入? 还有就是导入的时候显示导入信息,可以说是进度条。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dos:imp 用户名/密码 dmp文件路径/文件名
追问
用java怎么导入? 还有就是导入的时候显示导入信息,可以说是进度条。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |