我正在尝试在运行时加载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();
}
答案 0 :(得分:2)
根据此thread,您似乎已针对较旧版本的jdbc驱动程序进行编译,并且在运行时尝试访问不再可见类的方法,请参阅Oracles Announcement: oracle.jdbc.driver package desupport 。
答案 1 :(得分:0)
尝试将其他jar文件用于JDBC驱动程序。