Sql server MS Jdbc驱动程序sqljdbc 2.0驱动程序无法连接到SQL Server 2008

Sql server MS Jdbc驱动程序sqljdbc 2.0驱动程序无法连接到SQL Server 2008,sql-server,sql-server-2008,jdbc,Sql Server,Sql Server 2008,Jdbc,我们有一个定义良好的问题,它指向了Microsoft JDK1.6的JDBC2.0驱动程序(“sqljdbc4.jar”)的一个问题 我可能错了。我以前错过。我想看看我是否遗漏了什么。有什么见解吗?有人见过这个吗 用例: 使用ant“sql”任务运行简单的sql查询。所有查询都失败 jdbc驱动程序在连接时引发异常:“不支持服务器版本。目标服务器必须是SQL server 2000或更高版本。”(下面的堆栈跟踪摘录) 这在sql server 2000和2005版本上运行良好 数据: 这里

我们有一个定义良好的问题,它指向了Microsoft JDK1.6的JDBC2.0驱动程序(“sqljdbc4.jar”)的一个问题

我可能错了。我以前错过。我想看看我是否遗漏了什么。有什么见解吗?有人见过这个吗

用例:

  • 使用ant“sql”任务运行简单的sql查询。所有查询都失败
  • jdbc驱动程序在连接时引发异常:“不支持服务器版本。目标服务器必须是SQL server 2000或更高版本。”(下面的堆栈跟踪摘录)
  • 这在sql server 2000和2005版本上运行良好
数据:

  • 这里唯一的“玩家”是a)ant和b)jdbc驱动程序。没有自定义代码
  • 我们使用的是2.0驱动程序,即来自这个文件sqljdbc_2.0.1803.100_enu.tar.gz的驱动程序
  • 我们使用的是'sqljdbc4.jar'版本,即JDK6所需的版本。MD5金额为:249734b9b7dafaccd92de99eee95d7d6
  • Sql server的属性如下:产品版本:10.0.2531.0
  • 产品级别: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
com.microsoft.sqlserver.jdbc.SQLServerException:不支持服务器版本。目标服务器必须是SQL server 2000或更高版本。
位于com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(未知源)
位于com.microsoft.sqlserver.jdbc.DBComms.Prelogin(未知源)
位于com.microsoft.sqlserver.jdbc.DBComms。(来源未知)
位于com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(未知源)
位于com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(未知源)
位于com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(未知源)
位于com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(未知源)
位于org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:31
文件在“D”下表示“D'oh!!!”

原来有人不久前在sqljdbc.jar中签入了$ANT_HOME/lib

我们在应用程序库目录中更新了sqljdbc.jar,并将sql任务显式指向该库

< sql classpath='jdbc.classpath' .... />
对不起

账单

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