2016-09-03 7 views
-1

У меня есть сервер с Windows Server 2003 SP2 и стороннее приложение, разработанное с Java SE версии 5.0. Это приложение подключается к внешнему серверу базы данных через настроенный источник ODBC. В моих источниках ODBC я настроил источник на внешний сервер MS SQL. Как я могу сказать, он использует этот драйвер: SQLSRV32.DLL Версия: 2000.86.3959.00. Когда я настраиваю этот источник и консенсус теста, он говорит, что соединение прошло успешно.Соединение JDBC с ошибкой MS SQL Server 2012

Многолетний внешний сервер БД, запущенный под MS SQL Server 2008, и все было в порядке. Но теперь они мигрировали в MS SQL Server 2012 и мой Java приложение потерял связь с ним, за исключением, как это:

[Microsoft] [SQLServer 2000 Драйвер для JDBC] [SQLServer] Входящий табличный поток данных (TDS) неверный поток протокола удаленных процедур (RPC) . Параметр 1 (""): Тип данных 0x38 неизвестен.

Как я могу установить соединение? Есть ли какой-нибудь драйвер, который мне нужно установить для Windows или Java?

+0

Вам обязательно нужно обновить свой драйвер. – Kayaman

ответ

1

Вы используете устаревшую и устаревшую версию драйвера. Ошибка является результатом ошибки в SQLServer 2000 driver

. Чтобы исправить проблему, вам необходимо обновить драйвер до более новой версии. Для получения более подробной информации о причине и разрешении ошибки, см:

Microsoft KB Article 915834

Чтобы перейти на более поздних (2005+) водителей, вам будет необходимо изменение флягу файлов и строку соединения, используемые, как описано в статья. Если у вас нет доступа к коду, чтобы внести изменения, вам необходимо обратиться в корпорацию Майкрософт и запросить доступные исправления, который исправляет ошибку в драйверах 2000, как описано в KB и показанные здесь:

Для решения эту проблему немедленно, обратитесь в службу поддержки продуктов Microsoft . Службы для получения исправления. Для получения полного списка продукта Поддержка телефонов служб и информации о вспомогательных расходов Майкрософт, посетите следующий веб-узел корпорации Майкрософт: http://support.microsoft.com/contactus/?ws=support

Он также может быть возможным, чтобы найти позже «исправленную» версию драйвера .dll. Я смог найти пример загрузки по этому URL-адресу: Sqlsrv32.dll 2000.086.4412.00, который является более поздней версией, чем тот, который вы используете, и может исправить проблему. Если это не работает, поиск по загрузке позже, чем этот, который, как вы можете видеть, строит # 4412. Если вы загружаетесь с другого сайта, кроме Microsoft, перед его использованием обязательно выполняйте проверку вирусов.

+0

В этой статье описываются некоторые изменения кода, но у меня нет доступа к исходному коду этого java-приложения. Можете ли вы дать мне совет о том, какой драйвер я должен искать. В статье нет ссылок на скачивание. – Kostya

+0

Я обновил ответ для вас с дополнительной информацией о параметрах получения обновления патча к существующему драйверу, который не требует изменений кода. – pczeus