這兩個(gè)jar包是class12.jar和ojdbc14.jar,因?yàn)樾枰僮鞯臄?shù)據(jù)庫版本不同(有g(shù)bk8i和gbk11g),需要對指定版本的數(shù)據(jù)庫用指定的jar包的驅(qū)動(dòng)類。??? File file = new File("lib" + File.separator + "mysql-connector-java-5.1.15-bin.jar");
??? String jarPath = "file:" + file.getAbsolutePath();??? System.out.println(file.getAbsolutePath());??? try {??????? URL u = new URL(jarPath);??????? URLClassLoader oracle10g = new URLClassLoader(new URL[] { u });??????? Class<?> c = oracle10g.loadClass("com.mysql.jdbc.Driver");??????? Driver driver = (Driver) c.newInstance();??????? DriverManager.registerDriver(driver);??????? Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "123456");??? } catch (MalformedURLException e) {??????? e.printStackTrace();??? } catch (ClassNotFoundException e) {??????? e.printStackTrace();??? } catch (InstantiationException e) {??????? e.printStackTrace();??? } catch (IllegalAccessException e) {??????? e.printStackTrace();??? } catch (SQLException e) {??????? e.printStackTrace();??? }
打印出來 driver 的值是“com.mysql.jdbc.Driver@de6f34”,說明內(nèi)存中有值;但是getConnection()方法就會(huì)出錯(cuò)java.sql.SQLException: No suitable driver found for jdbc:mysql://127.0.0.1:3306/test,說明加載驅(qū)動(dòng)類出了問題。
如果哪位大神遇到或解決過此問題的請幫幫忙。
1 回答

不負(fù)相思意
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
根據(jù)面向?qū)ο蟮脑O(shè)計(jì)原則。
你應(yīng)該寫一個(gè)抽象的數(shù)據(jù)庫連接的類。
然后分別寫8g和11g的兩個(gè)實(shí)現(xiàn)類。
在程序中判斷是哪個(gè)數(shù)據(jù)庫,再動(dòng)態(tài)的綁定。
添加回答
舉報(bào)
0/150
提交
取消