import java.sql.*;
Jbuilder正确连接 oracle Arrayi需要注意的几个问题
oracle8以上的应该都使用classes12.jar文件作为jdbc驱动;
正确设置windows的classpath和jbuilder中的enterprise setup 、configure libraries,将casses12.jar路径正确添加到上述需要设置的地方;
进入database pilot,在database pilot中,file---new 在driver列表中如果oracle的驱动是红色的,就说明你的oralce在jb中加载失败;
若③没有错,则新建一个url:jdbc:oracle:thin:@(yourhostname):1521:(your sid)
连接数据库的Username/password
注:大部分站友的jbuilder连接oracle的问题都是由于没有正确配置classpath等引起的。
使用非XA方式连接ORACLE数据库
在windows下配置Oracle_XA时要注意两点:
#ORACLE 10
Oracle_XA;xaosw;%ORACLE_HOME% dbms oraxa10.lib%ORACLE_HOME%precompibmsvcorasql10.lib
#oracle Array
Oracle_XA;xaosw;%ORACLE_HOME% dbms oraxaArray.lib%ORACLE_HOME%precompibmsvcorasqlArray.lib
Unix下
Oracle_XA:xaosw:....
第一:在windows 下 ORACLE_XA 和xaosw后面的是分号";",不是冒号":"
第二:上面的这些LIB写在一行上,中间用空格分开,如果没有在系统的环境变量中设置ORACLE_HOME,就写绝对路径。
JDBC操作ORACLE数据库时出现‘java.sql.SQLException:IO异常,不在流模式下’
用OracleStatment,,不要用java.sql.Statment
如果对已有连接进行setAutoCommit失败,则关闭该连接并重新建立一个连接
到ORACLE站点下载一个最新的JDBC Driver,如果操作LOB类型,用ORACLE自带的接口和类
weblogic连接oracle问题:The Network Adapter could not establish the connection
可能是服务器的监听停掉了,是数据库的问题,与应用无关;应该先检查一下oracle是否正常,用sql*plus连接一下数据库,看能否正常连接;
2 //用jdbc连接数据库3 public class zz {
4
5 /**
6 * @param args
7 */
8 public static void main(String[] args) {
9 // TODO Auto-generated method stub
10
11 try
12 {
13 //加载驱动
14 Class.forName("oracle.jdbc.OracleDriver");
15 Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORACLE","scott","m123");
16 Statement sm=con.createStatement();
17 ResultSet rs=sm.executeQuery("select * from emp");
18 System.out.println("用户名: "+"职位:"+"上司编号: "+"入职时间: ");
19 while(rs.next())
20 {
21
22 System.out.println(rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+" "+rs.getString(5));
23
24 }
25 rs.close();
26 sm.close();
27 con.close();
28 }
29 catch(Exception e)
30 {
31 e.printStackTrace();
32 }
33
34 }
35
36 }
eblogic中使用Oracle连接池及Oracle备份的注意事项
使用HP-UNIX,Weblogic 8.1,Oracle Array.2.0.5
配置了一个普通的连接池,驱动程序采用oracle的Oracle’s Driver(Thin) version Array.0.1, Array.2.0
错误情况:
结果使用数据库连接池时报错,说没有连接池资源了。实际上数据库的连接池完全空闲,并且测试也是对的,Oracle也是正常可以连接、使用的。
问题根源:
通过层层排错,发现原来后台在使用Oracle的exp备份一个只有同义词的用户,导致exp进程僵死。
杀死exp、重启Oracle等无法解决问题,最终重启UNIX,禁止备份只有同义词的用户,问题解决。
总结:
应该是OracleArray的exp BUG导致连接池问题,不要使用exp倒出同义词