
这个问题要先注意:oracle是不能用语句直接导出的,而常规的导出办法是用cmd的DOS命令来 *** 作,之前我已经试过了,具体代码如下:
try {
//获取备份路径
SystemSetting ss=AppgetSystemSetting("datebase_bak");
String bakpath=ssgetSettingValue();
//判断路径是否存在,不存在创建
javaioFile ff=new javaioFile(bakpath);
if(!ffexists()&&!ffisDirectory()){
ffmkdir();
}
//备份 *** 作开始
String baksql="";//备份语句
String dburl=AppgetConfigValue("dburl");
String dataBaseName="";//数据库名称
//oracle中数据库名放在最后
String[] newDBurlStrings=dburlsplit(":");
dataBaseName=newDBurlStrings[newDBurlStringslength-1]toUpperCase();
Calendar now = CalendargetInstance();
//备份文件名称(数据库名+年月日)
String baknameString=dataBaseName+nowget(CalendarYEAR)+nowget(CalendarMONTH)+nowget(CalendarDAY_OF_MONTH)+"dmp";
//如果已存在当天的备份先删除之前的备份
javaioFile bakfile=new javaioFile(bakpath+baknameString);
if(bakfileexists()){
bakfiledelete();
}
String username=AppgetConfigValue("dbusername");
String password=AppgetConfigValue("dbpassword");
baksql="exp "+username+"/"+password+"@"+dataBaseName+" file="+bakpath+baknameString+" full=y";
//oracle无法用sql语句进行备份只能通过cmd命令备份
Runtime rt = RuntimegetRuntime();
Process p = rtexec(baksql);
//pdestroy();
} catch (Exception e) {
loggerdebug("数据库备份出现异常:"+egetMessage());
return NONE;
}
大致是这样,其他的你修改下就可以了
ClassforName("oraclejdbcdriverOracleDriver")newInstance();
String url = "jdbc:oracle:@localhost:1521:orcl";
String user = "sa";
String password = "123456";
Connection conn = DriverManagergetConnection(url,user,password);
@db服务器的ip:端口:sid
private final String DBDRIVER = "oraclejdbcdriverOracleDriver";
private final String DBURL = "jdbc:oracle:thin:@127001:1521:idt";
private final String DBUSER = "test";
private final String DBPASSWORD = "test";
private Connection conn = null;
public DBCon() {
try {
ClassforName(DBDRIVER);
conn = DriverManagergetConnection(DBURL, DBUSER, DBPASSWORD);
} catch (Exception e) {
}
}
public Connection getConnection() {
return thisconn;
}
public void close() {
try {
thisconnclose();
} catch (Exception e) {
eprintStackTrace();
}
}
获取连接后调用 java的jdbc里面封装的这个对象
sql='' '';
perparedsatatment ps =conncreatperparesatatment(sql)
用这个结果集resultout 可以循环输出 数据库的数据
JDBC方式连接数据库基本上都是通过DriverManager来获取连接的。因此需要给DriverManager传入数据库的一下参数:
第一个字符串
数据库连接类型 ----jdbc:oracle:thin 代表以jdbc方式(废话!)链接oracle数据库,以瘦客户端(thin)的方式交互,与之对应的就是胖客户端了、或带事务的等等。
数据库所在主机地址及监听端口 ----- @localhost:1521 localhost是主机名 1521是端口(默认就是1521,但实际应用中应该根据具体情况)
数据库SID mydb --------就是你要连到那个数据库实例上
第二个参数 对应的是你连接mydb数据库实例的用户名(并不是数据库名)
第三个参数 对应的是你用户的密码
实际编码的时候。在这之前应该还要有一句 查找驱动程序的语句
ClassforName("oraclejdbcdriverOracleDriver");
以检查 所需的驱动是否完整
以上就是关于java中如何连接oracle 导出的dmp文件全部的内容,包括:java中如何连接oracle 导出的dmp文件、Java连接Oracle数据库的连接字符串怎么写、用JAVA连接oracle 9等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)