邀月

          從.net中走來(lái)的Java愛(ài)好者
          posts - 22, comments - 10, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          JDBC Driver For SQL2000/2005/2008(downmoon)

          Posted on 2009-07-16 13:51 邀月 閱讀(4115) 評(píng)論(4)  編輯  收藏 所屬分類: Eclipse

          機(jī)器上配置的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

          .據(jù)官方說(shuō)明,支持sql2000/sql2005/sql2008,

          http://msdn.microsoft.com/zh-cn/library/ms378422.aspx

          不過(guò)僅支持jre6及以上版本。而且文件也成了兩個(gè)sqljdbc.jar 或 sqljdbc4.jar,下載后將兩個(gè)文件放入jre\lib\ext。替換原來(lái)的sqljdbc.jar。結(jié)果運(yùn)行出錯(cuò):

          此驅(qū)動(dòng)程序不支持 Java Runtime Environment (JRE) 1.6 版。請(qǐng)使用支持 JDBC 4.0 的 sqljdbc4.jar 類庫(kù)。

          重啟Eclipse,還是出錯(cuò)。后來(lái)查下MSDN,看到這么一段:

          必須確保 CLASSPATH 語(yǔ)句僅包含一個(gè) Microsoft SQL Server JDBC driver,例如 sqljdbc.jar 或 sqljdbc4.jar。sqljdbc4.jar 類庫(kù)要求使用 6.0 或更高版本的 Java 運(yùn)行時(shí)環(huán)境 (JRE)。

          選擇正確的 JAR 文件

          Microsoft SQL Server JDBC Driver 2.0 提供兩個(gè)類庫(kù)文件:sqljdbc.jarsqljdbc4.jar,具體使用哪個(gè)文件取決于首選的 Java 運(yùn)行時(shí)環(huán)境 (JRE) 設(shè)置。有關(guān)選擇哪個(gè) JAR 文件的詳細(xì)信息,請(qǐng)參閱 JDBC Driver 的系統(tǒng)要求


          于 是:試著刪除sqljdbc.jar,再重啟Eclipse,運(yùn)行成功!

          注意:JDBC Driver 1.0以后連接串發(fā)生變化:

          1、驅(qū)動(dòng)程序與 SQL SERVER 2000 JDBC DRIVER 之間存在加載沖突

          如果您在同一個(gè)進(jìn) 程中同時(shí)加載 Microsoft SQL Server 2000 JDBC Driver 和 Microsoft SQL Server JDBC Driver(版本 1.0、1.1、1.2 和 2.0),在某些情況下,2000 版 JDBC 驅(qū)動(dòng)程序?qū)㈠e(cuò)誤地接受 DriverManager.getConnection 方法調(diào)用,而該調(diào)用實(shí)際是針對(duì) Microsoft SQL Server JDBC Driver(版本 1.0、1.1、1.2 和 2.0)的。

          產(chǎn)生這一問(wèn)題的原因是:如果首先加載 2000 版 JDBC 驅(qū)動(dòng)程序,則此驅(qū)動(dòng)程序?qū)㈠e(cuò)誤地接受 URL 前綴“jdbc:sqlserver://”。
          若要解決此問(wèn)題,請(qǐng)先加載 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 驅(qū)動(dòng)程序處理。

          2、自1.2版本后支持實(shí)例名的連接    

          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";  
          //***

          更詳細(xì)的示例,請(qǐng)查看下載后的\sqljdbc_2.0\chs\help\default.htm





          邀月注:本文版權(quán)由邀月和博客園(BlogJava)共同所有,轉(zhuǎn)載請(qǐng)注明出處。
          助人等于自助!   3w@live.cn

          評(píng)論

          # re: JDBC Driver2.0連接的兩個(gè)問(wèn)題(downmoon)  回復(fù)  更多評(píng)論   

          2009-07-16 16:53 by 隔葉黃鶯
          還沒(méi)在項(xiàng)目中使用過(guò) Sql Server,好像不少項(xiàng)目用的 Sql Server+java 組合。個(gè)人覺(jué)得這個(gè)組合有點(diǎn)怪,Sql Server 不參跨平臺(tái),而 Java 總是以跨平臺(tái)而自得,不過(guò)通常DB和應(yīng)用是分離的,到也無(wú)礙。

          # re: JDBC Driver For SQL2000/2005/2008(downmoon)[未登錄](méi)  回復(fù)  更多評(píng)論   

          2009-09-25 09:51 by 小人物
          其實(shí)數(shù)據(jù)庫(kù)和JAVA程序不一定放在同一臺(tái)服務(wù)器上面的。所以java+SqlServer、
          并不奇怪。。。

          # re: JDBC Driver For SQL2000/2005/2008(downmoon)[未登錄](méi)  回復(fù)  更多評(píng)論   

          2009-09-25 09:56 by 小人物
          個(gè)人習(xí)慣用jtds,第三方出的

          # re: JDBC Driver For SQL2000/2005/2008(downmoon)[未登錄](méi)  回復(fù)  更多評(píng)論   

          2009-12-23 21:38 by 新手上路
          水平高,佩服。
          因?yàn)槲业浆F(xiàn)在還沒(méi)搞掂。
          主站蜘蛛池模板: 侯马市| 金塔县| 兴山县| 仁布县| 腾冲县| 永丰县| 红桥区| 云龙县| 北票市| 成都市| 综艺| 基隆市| 库伦旗| 民县| 攀枝花市| 平陆县| 永清县| 南通市| 琼中| 集贤县| 方山县| 台北县| 雷山县| 正阳县| 潜江市| 普安县| 绥宁县| 文水县| 元阳县| 宜都市| 灵台县| 武宣县| 七台河市| 绥江县| 石林| 元江| 农安县| 广元市| 乐东| 旬阳县| 天津市|