现在oracle的版本是8.1,要建立个连接,可总在jdk的这个class里报错。
java.sql.DriverManager的方法registerDriver的di.driverClassName = di.driverClass.getName();
报出来的错是数组越界。我的测试source是
try {
String url="jdbc:oracle:thin:@192.168.0.239:1521:crd";
//String url="jdbc:oracle:thin:@localhost:1521:tcrd";
String user="crd";
String password="crd";
Class.forName("oracle.jdbc.driver.OracleDriver");
try {
Connection conn= DriverManager.getConnection(url,user,password);
if (conn == null) {
System.out.print("error");
} else {
System.out.print("right");
}
} catch (SQLException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}在连接的时候报的数组越界。用的驱动是oracle8.1的classes111.zip,我的工程是java application ,直接把这个包考过来了。
classes111.zip和class12.zip都用过,都有这个问题。
估计原因是驱动的问题,啥原因?
java.sql.DriverManager的方法registerDriver的di.driverClassName = di.driverClass.getName();
报出来的错是数组越界。我的测试source是
try {
String url="jdbc:oracle:thin:@192.168.0.239:1521:crd";
//String url="jdbc:oracle:thin:@localhost:1521:tcrd";
String user="crd";
String password="crd";
Class.forName("oracle.jdbc.driver.OracleDriver");
try {
Connection conn= DriverManager.getConnection(url,user,password);
if (conn == null) {
System.out.print("error");
} else {
System.out.print("right");
}
} catch (SQLException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}在连接的时候报的数组越界。用的驱动是oracle8.1的classes111.zip,我的工程是java application ,直接把这个包考过来了。
classes111.zip和class12.zip都用过,都有这个问题。
估计原因是驱动的问题,啥原因?
DriverManager.registerDriver((Driver)driver.newInstance());//你少了这句
connection = DriverManager.getConnection(url, userName, password);你光加载了驱动类,就和动态加载任何一个类一样,但是没有向驱动管理器注册这个驱动实例
你的驱动管理器的驱动列表里面一个驱动都没有,取名字为空
try {
String url = "jdbc:oracle:thin:@192.168.0.239:1521:crd";
String user = "crd";
String password = "crd"; Class driver = Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.registerDriver((Driver) driver.newInstance());
Connection conn = DriverManager.getConnection(url, user, password); System.out.print("right");
} catch (Exception e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
还是能抛出来数组越界。
纳闷,原来用 10g咋连都没问题。
而且我的1521:crd的crd就是sid
客户端是 8
服务器端是 10