1) 與 SQL SERVER 2000 JDBC 驅動程序的驅動程序加載衝突
若在同一進程中加載 Microsoft SQL Server 2000 JDBC 驅動程序和
Microsoft SQL Server 2005 JDBC 驅動程序,則在某些情況下,
JDBC 驅動程序的 2000 版本將錯誤地接受用於 JDBC 驅動程序的
2005 版本的 DriverManager.getConnection 方法調用。
該問題的原因是:若先加載 JDBC 驅動程序的 2000 版本,
則該程序將錯誤地接受“jdbc:sqlserver://”URL 前綴。
Microsoft 已意識到該問題,並計劃在 JDBC 驅動程序的 2000 版本
中解決該問題。
要解決該問題,請先加載 JDBC 驅動程序類的 2005 版本,如下所示:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 版本
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 版本
這將確保“jdbc:sqlserver://”URL 前綴由
JDBC 驅動程序的 2005 版本處理,而“jdbc:microsoft:sqlserver://”
URL 前綴將由 JDBC 驅動程序的 2000 版本處理。