Как я могу создать соединение ODBC из .bat файла в Windows?


9

Мне нужен пакетный скрипт для создания соединения ODBC / DSN из файла .bat в Windows. Как я могу это сделать?


.bat только дает вам доступ к тому, что находится в командной строке, поэтому я не думаю, что это возможно. Это должно быть возможно с Visual Basic, хотя я никогда не делал этого.
Роберт

@ Роберт Это возможно. Уже сделал.
Джонатан

Ответы:


11

Конечно.

Вручную создайте соединение ODBC на вашем ПК с помощью апплета «Источники данных (ODBC)» в инструментах администратора.

Запустите regedit, перейдите в HKLM \ Software \ ODBC и экспортируйте весь лот из ODBC в файл .reg. Это опция правой кнопки мыши на папке.

Откройте экспортированный файл в Блокноте, теперь вам нужно удалить все, что не относится к вашему конкретному соединению ODBC.

Вы должны получить файл реестра, похожий на этот

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
"TEST"="SQL Server"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\TEST]
"Driver"="C:\\Windows\\system32\\SQLSRV32.dll"
"Server"="SERVERNAME"
"LastUser"="USERNAME"
"Trusted_Connection"="Yes"

Может немного отличаться в зависимости от настроек подключения и тому подобного. Вам понадобятся два раздела: источники данных определяют тип соединения, в данном случае это сервер SQL, затем бит, который сообщает вам, как он называется, какой драйвер использовать и какой тип аутентификации использовать. все это будет сделано при настройке соединения, вам просто нужен файл .reg с ним в.

Затем вы можете импортировать его на любой компьютер, либо дважды щелкнув по файлу reg, либо, если у вас есть возможность, запустить скрипт для импорта его с помощью regedit. Вы можете вызвать этот импорт из командного файла:

regedit /s FileToImport.reg

4
Будьте осторожны: на 64-битных компьютерах есть два набора ключей реестра для соединений odbc.
Джоэл Коэль

Записи реестра также могут быть созданы с помощью reg.exe. Если вы все равно собираетесь переместить файл, может быть лучше создать файловый DSN вместо системного DSN.
Ансгар Вичерс

работает! Я открыл run regedit и экспортировал текущий dsn, чтобы сделать копию для установки на другие машины.
crh225

5
Примечание для 32-битных программ, работающих на 64-битных системах, путь такой HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\....
Nux
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.