Create Statement失败

时间:2011-12-10 07:32:05

标签: java oracle

我正在尝试在运行时加载jar,在这种情况下为ojdbc14.jar。 jar正确加载,我也能够创建与DB(oracle)的连接。 但每当我尝试做connection.createStatement();时,它就会给我这个例外

  

$线程“Thread-24”中的异常java.lang.IllegalAccessError:尝试过   访问方法   oracle.jdbc.driver.OracleSql(Loracle / JDBC /驱动器/ DBConversion):V   来自类oracle.jdbc.driver.OracleStatement           在oracle.jdbc.driver.OracleStatement。(OracleStatement.java:641)           在oracle.jdbc.driver.T4CStatement。(T4CStatement.java:702)           at oracle.jdbc.driver.T4CDriverExtension.allocateStatement(T4CDriverExtension.java:50)           at oracle.jdbc.driver.PhysicalConnection.createStatement(PhysicalConnection.java:584)           在oracle.jdbc.driver.PhysicalConnection.createStatement(PhysicalConnection.java:550)           at genInstaller.Controller.MetadataScriptManager.checkTableExistence(MetadataScriptManager.java:450)           ...... ......

编辑:

String dbDriverLocn = //location of ojdbc14.jar 
String strDBDriverURL = "jdbc:oracle:thin:@frewper:1521:ORCL" 
String strDBUserName = "frewper" 
String strDBUserPassword = "frewper" 

new LoadClassTest().callToLoad(dbDriverLocn); 

try 
 { 
  Class.forName("oracle.jdbc.driver.OracleDriver"); 
  Connection conn = DriverManager.getConnection(strDBDriverURL,strDBUserName,strDBUserPassword); 
  Statement st = conn.createStatement(); 
   //Exception occurs here 
 } catch (SQLException e) 
 { 
   e.printStackTrace(); 
 } 

2 个答案:

答案 0 :(得分:2)

根据此thread,您似乎已针对较旧版本的jdbc驱动程序进行编译,并且在运行时尝试访问不再可见类的方法,请参阅Oracles Announcement: oracle.jdbc.driver package desupport

答案 1 :(得分:0)

尝试将其他jar文件用于JDBC驱动程序。