2010-01-28 302 views
1

我們有一個明確定義的問題,指出了JDK 1.6(「sqljdbc4.jar」)的Microsoft JDBC 2.0驅動程序問題。MS Jdbc驅動程序sqljdbc 2.0驅動程序無法連接到SQL Server 2008

我可能是錯的。我以前錯了。我想看看我是否缺少任何東西。有什麼見解?任何人見過這個?

USECASE:

  • 使用蟻族 「SQL」 任務來運行一個簡單的SQL查詢。所有查詢都失敗
  • jdbc驅動程序在連接時會拋出異常:「服務器版本不受支持,目標服務器必須是SQL Server 2000或更高版本。」 (以下堆棧跟蹤摘錄)
  • 能正常工作的SQL Server版本的2000和2005年

數據:

  • 唯一的 '玩家' 這裏有一個),螞蟻和b)的JDBC驅動程序。沒有自定義代碼。
  • 我們使用2.0驅動程序,即從此文件sqljdbc_2.0.1803.100_enu.tar.gz
  • 我們使用'sqljdbc4.jar'版本,即JDK6所需的版本。 MD5SUM是:249734b9b7dafaccd92de99eee95d7d6
  • SQL Server的性能如下:產品版本:10.0.2531.0
  • Productlevel:SP1
  • 版本:企業版
  • 我們使用JDBC URL看起來像這樣:「JDBC :SQLSERVER:// prodsql2;」 (即沒有額外的屬性,在年底通過)

堆棧跟蹤:

com.microsoft.sqlserver.jdbc.SQLServerException: The server version is not supported. The target server must be SQL Server 2000 or later. 
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source) 
at com.microsoft.sqlserver.jdbc.DBComms.Prelogin(Unknown Source) 
at com.microsoft.sqlserver.jdbc.DBComms.<init>(Unknown Source) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source) 
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) 
at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:31 

在此先感謝,

法案

回答

0

文件下的 「d」 爲「D'哦! !!」

原來有人曾在不久前在sqljdbc.jar檢查$ ANT_HOME/lib目錄

我們在我們的應用程序li​​b目錄更新sqljdbc.jar,並指出了SQL任務明確到庫中。

< sql classpath='jdbc.classpath' .... /> 

實際上,Ant會忽略類路徑設置任務,如果它在$ ANT_HOME/lib中找到它,則會加載該類。

此日誌消息讓我失望。它暗示螞蟻實際上看起來「在我指定的地方」。實際上它在ANT_HOME/lib中查找。

Loading com.microsoft.sqlserver.jdbc.SQLServerDriver using AntClassLoader with classpath c:\projects\devtools\mssql_jdbc\sqljdbc_2.0.1803.100\sqljdbc_2.0\enu\sqljdbc4.jar 

對不起。

bill

相關問題