2011-11-01 31 views
0

如果兩個版本需要不同版本的JDBC驅動程序,但驅動程序類名是相同?從Java同時使用MySQL 3.x和5.x

對於MySQL 3.x我下載了MySQL Connector/J 3.0.17和MySQL 5.x我有MySQL Connector/J 5.1.12。我怎樣才能使用它們?

+1

您測試了5.x驅動程序對3.x數據庫嗎?它可以向後兼容。 – DaveH

回答

2

首先檢查(如@DaveHowes +1所述)是否可以在數據庫v3中使用適用於v5的JDBC驅動程序。它可能有效。在這種情況下,你沒有問題。

如果它不起作用,您必須使用單獨的類加載器將2個連接器用於2個不同的DB。因此,v5和v3 JDBC驅動程序都不會在您的應用程序的「常規」類路徑中。相反,你應該創建一些包裝器來實例化自己的UrlClassLoader:並啓動驅動程序。提到的收集器應該公開允許您執行JDBC查詢的API。我希望這會起作用。所有這些如果您使用純JDBC。如果你正在使用某種工具(如Hibernate,iBatis等),我希望你好運:)並建議提出更具體的問題,提到你正在使用的工具。

+0

不幸的是,根據[MySQL doc](http://dev.mysql.com/doc/refman/5.0/en/connector-j-versions.html)只有Connector/J 3.0支持MySQL 3.0 –

+0

Mark,MySQL doc for當這是最新版本時,v 3.0被編寫。該文檔意味着MySQL 3不能與*舊*連接器一起使用。真的,嘗試連接器5與數據庫3.它真的可能會工作。如果沒有,請按照我的其他解釋。 – AlexR

+0

MySQL文檔適用於MySQL 5.0,對於Connector/J 3.1及更高版本,它不會將MySQL 3.0列爲兼容! –