在代码中同时添加了sqlserver2008
与sqlserver2000
jdbc的jar包,并且生成了2个连接池对象,每个连接池对象都设置了不同的DriverClass,但是启动的时候依然提示以下错误
2016-7-28 16:02:16 com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
警告: ConnectionID:5 ClientConnectionId: 88e86cb1-2464-4d23-be03-9beec06a5e2d Server major version:8 is not supported by this driver.
sqlserver2000
依旧使用更高级别的DriverClass加载,如何才能做到同时加载2种不同版本的sqlserver的DriverClass
Java は Spring を使用していますか?異なる jar パッケージを使用したい場合は、実際には 2 つの異なるデータベースに同時に接続したいですよね? Spring の場合は、2 つのデータ ソースを異なる名前で設定し、別々に使用してください
ここでの問題は、クラスロードメカニズムに関係します。一般に、
これを理解するのは非常に簡単で、別のパッケージ名を変更するだけですJDBC
ドライバーは、Class.forName("包名.类名")
ドライバーの 2 つのバージョンのパッケージ名とクラス名が同じである場合にのみロードされます。そのうちの 1 つJDBC
をロードします。DriverClass