機器上配置的JDK為1.6,SQL2005/2008,而JDBC Driver一直用
Microsoft SQL Server 2005 JDBC Driver 1.2
,支持sql2000/sql2005/sql2008,下載地址:
http://www.microsoft.com/downloads/details.aspx?familyid=C47053EB-3B64-4794-950D-81E1EC91C1BA&displaylang=zh-cn
今天試了下最新的
Microsoft SQL Server JDBC Driver 2.0
.據官方說明,支持sql2000/sql2005/sql2008,
http://msdn.microsoft.com/zh-cn/library/ms378422.aspx
不過僅支持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 文件的詳細信息,請參閱 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]]
例:
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
邀月注:本文版權由邀月和博客園(BlogJava)共同所有,轉載請注明出處。
助人等于自助! 3w@live.cn