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

时间:2010-01-28 16:53:56

标签: sql-server sql-server-2008 jdbc

我们有一个明确定义的问题,指出Microsoft的JDK 1.6的JDBC 2.0驱动程序(“sqljdbc4.jar”)存在问题。

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

USECASE:

  • 使用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所需的版本。 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

提前感谢,

纸币

1 个答案:

答案 0 :(得分:0)

“D”下的文件“D'oh !!!”

原来有人在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

对不起。

纸币