32-битная проблема OSQL с 64-битной Windows + 64-битный SQL Server - PullRequest
2 голосов
/ 07 июля 2010

У меня есть сервер Windows 2008 x64 и с установленным SQL Server 2008 x64. osql.exe в каталоге SQL Server может перечислить экземпляры с -L. Я скопировал osql.exe + osql.rll из другого SQL Server 2005 x86, и «. \ Osql.exe -L» возвращает ошибку типа «[ODBC Driver Manager] Имя источника данных не найдено и драйвер по умолчанию не указан».

После проверки реестра «HKLM \ SOFTWARE \ Wow6432Node \ ODBC \ ODBCINST.INI», «SQL Server» и «SQL Server Native Client 10.0» в порядке, а связанные файлы DLL в порядке. Я также проверил версию MDAC, это 6.0.6002.18005. Я что-то пропустил?

Одна интересная вещь - это osql.exe из SQL Server 2000, который хорошо запускался для составления списка экземпляров на сервере. И osql.rll не нужен, osql.exe нужен только msvcr71.dll.

Что я могу сделать, чтобы osql.exe (из sql 2005) работал на сервере? И есть ли разница между этими 2 osql.exe (sql 2005, sql 2000)?

1 Ответ

1 голос
/ 07 июля 2010

Как сказал DaveShaw, вам, вероятно, вместо этого следует использовать SQLCMD.EXE ... к счастью, синтаксис вполне сопоставим со старым OSQL.EXE, поэтому переход не должен быть сложным.

Вы можете скачатьSQLCMD (a / k / a Утилита запросов командной строки Microsoft SQL Server 2005 ) из последней страницы пакета компонентов для SQL Server 2005 .Установите соответствующий SQLCMD и собственный клиент SQL Server (также на той же странице), и вы сможете запускать команды из любой клиентской системы в сети, x86 или x64, независимо от того,

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