JDBC Driver For SQL2000/2005/2008
機器上配置的JDK為1.6,SQL2005/2008,而JDBC Driver一直用
Microsoft SQL Server 2005 JDBC Driver 1.2
今天試了下最新的
Microsoft SQL Server JDBC Driver 2.0
.據官方說明,支援sql2000/sql2005/sql2008,
不過僅支援jre6及以上版本。而且檔案也成了兩個sqljdbc.jar 或 sqljdbc4.jar,下載後將兩個檔案放入jre/lib/ext。替換原來的sqljdbc.jar。結果執行出錯:
此驅動程式不支援 Java Runtime Environment (JRE) 1.6 版。請使用支援 JDBC 4.0 的 sqljdbc4.jar 類庫。
重啟Eclipse,還是出錯。後來查下MSDN,看到這麼一段:
必須確保 CLASSPATH 語句僅包含一個 Microsoft SQL Server JDBC driver,例如 sqljdbc.jar 或 sqljdbc4.jar。sqljdbc4.jar 類庫要求使用 6.0 或更高版本的 Java 執行時環境 (JRE)。
選擇正確的 JAR 檔案
Microsoft SQL Server JDBC Driver 2.0 提供兩個類庫檔案:sqljdbc.jar 和 sqljdbc4.jar,具體使用哪個檔案取決於首選的 Java 執行時環境 (JRE) 設定。有關選擇哪個 JAR 檔案的詳細資訊,請參閱
於是:試著刪除sqljdbc.jar,再重啟Eclipse,執行成功!
注意:JDBC Driver 1.0以後連線串發生變化:
1、驅動程式與 SQL SERVER 2000 JDBC DRIVER 之間存在載入衝突如果您在同一個程序中同時載入 Microsoft SQL Server 2000 JDBC Driver 和 Microsoft SQL Server JDBC Driver(版本 1.0、1.1、1.2 和 2.0),在某些情況下,2000 版 JDBC 驅動程式將錯誤地接受 DriverManager.getConnection 方法呼叫,而該呼叫實際是針對 Microsoft SQL Server JDBC Driver(版本 1.0、1.1、1.2 和 2.0)的。產生這一問題的原因是:如果首先載入 2000 版 JDBC 驅動程式,則此驅動程式將錯誤地接受 URL 字首“jdbc:sqlserver://”。若要解決此問題,請先載入 Microsoft SQL Server JDBC Driver(版本 1.0、1.1、1.2 和 2.0)類,如下所示:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 版本 1.0 或更高版本Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 版這將確保 URL 字首“jdbc:sqlserver://”由 Microsoft SQL Server JDBC Driver(版本 1.0、1.1、1.2 和 2.0)處理,而 URL 字首“jdbc:microsoft:sqlserver://”由 2000 版 JDBC 驅動程式處理。
2、自1.2版本後支援例項名的連線
jdbc:sqlserver://[serverName[/instanceName][:portNumber]][;property=value[;property=value]]
例:
[java] view plain copy print?- String CLASSFORNAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
- String CONNECTSTR = "jdbc:sqlserver://ap2//vegnet:1433;DatabaseName=agronet2008";
- String user = "sa";
- String password = "sa";
- //
更詳細的示例,請檢視下載後的/sqljdbc_2.0/chs/help/default.htm
邀月注:本文版權由邀月和CSDN共同所有,轉載請註明出處。助人等於自助! [email protected]