У меня есть два компьютера с двумя (якобы) идентичными установками SQL Server Express 2008 R2, оба работают под управлением Windows 7 64-разрядной версии. На одном компьютере (назовите его «красным») я могу выполнить следующий код mathematica, чтобы открыть соединение с базой данных и прочитать данные
Needs["DatabaseLink`"]
conn = OpenSQLConnection[
JDBC[
"Microsoft SQL Server(jTDS)",
"localhost"],
"Instance" -> "SQLExpress"]
У меня установлен драйвер jTDS для сервера sql в c:\windows\system32\ntlmauth.dll
. Я скопировал dll с рабочей машины "red" на нерабочую машину "black".
Я использовал инструмент импорта и экспорта SQL-Server для перевода очень простой базы данных из «красной» в «черную» и проверил, что база данных доступна, запустив LinqPad в «черном» и считав данные. Все хорошо.
Теперь я пытаюсь запустить приведенный выше код Mathematica на «черном», и я получаю сообщение о неисправимости, а именно:
JDBC :: error: "! (TraditionalForm` \" Сетевая ошибка IOException: соединение отклонено: connect \ ")"
Я просто знаю, что это будет одной из тех кошмарных проблем с правами доступа к учетной записи localservice или учетной записи сетевого сервиса. У меня нет Sql-Server Management Studio на компьютере «черного цвета», и я не смог найти подходящую версию SSMS для установки для SQL Server 2008 R2 Express (версия SSMS Express 2008 не устанавливается, ссылаясь на «известные проблемы совместимости»). Я действительно не скучаю по SSMS, так как LinqPad отлично работает для моих задач разработки.
Я не знаю, как диагностировать, обойти или каким-либо образом действовать - я полностью заблокирован и буду очень признателен за совет или руководство.