java - 如何同时加载2种JDBC驱动
大家讲道理
大家讲道理 2017-04-18 09:39:17
0
2
536

在代码中同时添加了sqlserver2008sqlserver2000jdbc的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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(2)
巴扎黑

Java를 사용하는 건가요? 서로 다른 jar 패키지를 사용하고 싶다면 실제로 두 개의 다른 데이터베이스에 동시에 연결하고 싶겠죠? spring이라면 두 개의 데이터 소스를 서로 다른 이름으로 구성하고 별도로 사용하세요

Ty80

여기서 문제는 클래스 로딩 메커니즘과 관련이 있습니다. 일반적으로 JDBC 드라이버는 Class.forName("包名.类名") 드라이버의 두 버전의 패키지 이름과 클래스 이름이 동일한 경우, 그 중 하나만 로드할 수 있습니다 JDBC. DriverClass

이것을 이해하는 것은 매우 간단합니다. 그러면 패키지 이름을 다르게 변경하면 됩니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿