Драйвер MS Jdbc Драйвер sqljdbc 2.0 не может подключиться к SQL Server 2008 - PullRequest
1 голос
/ 28 января 2010

У нас есть четко определенная проблема, которая указывает на проблему с драйвером Microsoft JDBC 2.0 для JDK 1.6 ("sqljdbc4.jar").

Я могу ошибаться. Я был неправ раньше. Я хотел посмотреть, что я пропускаю. какие-либо идеи? Кто-нибудь видел это раньше?

USECASE:

  • используйте задачу ant "sql" для запуска простого запроса sql. Все запросы не выполняются
  • Драйвер jdbc выдает исключение при подключении: «Версия сервера не поддерживается. Целевой сервер должен быть SQL Server 2000 или более поздней версии». (отрывок трассировки стека ниже)
  • Это прекрасно работает на серверах sql версий 2000 и 2005

Данные:

  • Здесь единственные «игроки» - это а) муравей и б) драйверы jdbc. Пользовательский код отсутствует.
  • мы используем драйвер 2.0, т.е. из этого файла sqljdbc_2.0.1803.100_enu.tar.gz
  • мы используем версию 'sqljdbc4.jar', то есть версию, необходимую для JDK6. Сумма Md5: 249734b9b7dafaccd92de99eee95d7d6
  • Свойства сервера Sql: версия продукта: 10.0.2531.0
  • Уровень продукта: SP1
  • Edition: Enterprise Edition
  • Мы используем URL-адрес jdbc, который выглядит следующим образом: "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 голосов
/ 29 января 2010

Файл под "D" для "D'oh !!!"

Оказывается, кто-то недавно проверял в sqljdbc.jar файл $ ANT_HOME / lib

Мы обновили sqljdbc.jar в каталогах lib нашего приложения и явно указали задачу sql на эту библиотеку.

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

Ant фактически игнорирует задачу установки classpath и загружает класс из $ 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

К сожалению.

Счет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...