Como posso criar uma conexão ODBC a partir do arquivo .bat no Windows?

9

Eu preciso de um script em lote para criar uma conexão ODBC / DSN a partir de um arquivo .bat no Windows. Como posso fazer isso?

Jhonathan
fonte
.bat apenas dá acesso ao que está na linha de comando, então não acho que seja possível. Deve ser possível com o visual basic, embora eu nunca tenha feito isso.
Robert
@ Robert Isso é possível. Já fiz.
precisa saber é o seguinte

Respostas:

11

Certo.

Crie manualmente uma conexão ODBC no seu PC usando o miniaplicativo "Fontes de dados (ODBC)" nas ferramentas administrativas.

Inicie o regedit e vá para HKLM \ Software \ ODBC e exporte todo o lote do ODBC para um arquivo .reg. Esta é uma opção de clique direito na pasta.

Abra o arquivo exportado no Bloco de notas, agora você precisa excluir tudo o que não se refere à sua conexão ODBC específica.

Você deve terminar com um arquivo de registro parecido com este

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"

Pode ser um pouco diferente dependendo das configurações de conexão e afins. Você precisará das duas seções, as fontes de dados definem o tipo de conexão; nesse caso, um servidor SQL; depois, o bit que informa como é chamado, qual driver usar e que tipo de autenticação usar. isso tudo será feito quando você configurar a conexão, você só precisa do arquivo .reg com ele.

Em seguida, você pode importá-lo em qualquer PC clicando duas vezes no arquivo reg ou se tiver a facilidade de executar um script para importá-lo usando o regedit. Você pode chamar essa importação de um arquivo em lotes:

regedit /s FileToImport.reg
Glenn Sullivan
fonte
4
Cuidado: existem dois conjuntos de chaves do Registro para conexões odbc em máquinas de 64 bits.
Joel Coel
As entradas do registro também podem ser criadas com reg.exe. Se você quiser mover um arquivo de qualquer maneira, talvez seja melhor criar um DSN de arquivo em vez de um DSN do sistema.
Ansgar Wiechers
trabalho! Abri o regedit e exportei o dsn atual para fazer uma cópia para instalar em outras máquinas.
crh225
5
Nota para programas de 32 bits em execução em sistemas de 64 bits, o caminho é HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\....
Nux