1. 程式人生 > >JDBC Driver For SQL2000/2005/2008

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.jarsqljdbc4.jar,具體使用哪個檔案取決於首選的 Java 執行時環境 (JRE) 設定。有關選擇哪個 JAR 檔案的詳細資訊,請參閱

JDBC Driver 的系統要求

於是:試著刪除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?
  1. String CLASSFORNAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver";  
  2. String CONNECTSTR = "jdbc:sqlserver://ap2//vegnet:1433;DatabaseName=agronet2008";  
  3. String user = "sa";  
  4. String password = "sa";  
  5. //
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]