powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Query не соединяется с новым сервером по ODBC
3 сообщений из 3, страница 1 из 1
MS Query не соединяется с новым сервером по ODBC
    #33514182
DB Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть много отчетов в Екселе, в которые потягиваются данные из MS SQL посредством MS Query. Недавно состоялся переезд на новое железо, однако после смены имени сервера в ODBC-шном DSN-е ексель все равно пытается коннектится со старым сервером. Открыв .xls в текстовом редакторе можно легко убедиться в том, что всю строку подключения ODBC ексель хранит "в себе", а отнюдь не берет параметры подключения из DSN-а :( Более того, теперь невозможно даже открыть ни один SQL-запрос в MS Query - ругается на невозможность установить соединение (естественно - он пытается соединиться со старым сервером).
Долгое и некрасивое решение: сделать fake, подменив старое имея сервера айпишником нового сервера в файле hosts, после чего все sql-запросы сохранить во внешние dqy-файлы. Но отчетов десятка два, некоторые выполняются по 5-10 минут. Есть менее болезненные варианты?
...
Рейтинг: 0 / 0
MS Query не соединяется с новым сервером по ODBC
    #33514419
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эксель по умолчанию действительно не работает с DSN. Но может, если произвести некоторые телодвижения :)

Зайди в VBA, запусти его консоль (Alt+F11, Ctrl+G). Дай команду:
Код: plaintext
? ActiveSheet.QueryTables( 1 ).Connection
Получишь строку типа:
ODBC;*******;UID=BBB;PWD=CCCC;
Вместо звездочек тут может быть любая строка подключения в ODBC формате.
А теперь заменяешь ее:
Код: plaintext
ActiveSheet.QueryTables( 1 ).Connection = "ODBC;DSN=MyDSN;UID=BBB;PWD=СССС;"
Повторяешь это для всех QueryTable в своей книге и все.

Обрати внимание, что первым словом в строке подключения должно идти "ODBC;" и "OLE DB;" а дальше, все что угодно в ODBC или OLE DB формате соотвественно.
...
Рейтинг: 0 / 0
MS Query не соединяется с новым сервером по ODBC
    #33516124
DB Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Угу, спасибо.
Вообще, столько букв писать было необязательно, вполне хватило бы строчки
Код: plaintext
ActiveSheet.QueryTables( 1 ).Connection
:)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / MS Query не соединяется с новым сервером по ODBC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]