Come posso creare una connessione ODBC dal file .bat in Windows?


9

Ho bisogno di uno script batch per creare una connessione ODBC / DSN da un file .bat in Windows. Come posso fare questo?


.bat ti dà accesso solo a ciò che si trova alla riga di comando, quindi non credo sia possibile. Dovrebbe essere possibile con Visual Basic, anche se non l'ho mai fatto.
Robert,

@Robert Questo è possibile. Già fatto.
Jhonathan,

Risposte:


11

Sicuro.

Creare manualmente una connessione ODBC sul PC utilizzando l'applet "Origini dati (ODBC)" negli strumenti di amministrazione.

Avviare regedit e accedere a HKLM \ Software \ ODBC ed esportare l'intero lotto da ODBC in un file .reg. Questa è un'opzione del tasto destro del mouse sulla cartella.

Apri il file esportato in Blocco note ora devi eliminare tutto ciò che non si riferisce alla tua specifica connessione ODBC.

Dovresti finire con un file di registro simile a questo

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"

Potrebbe essere leggermente diverso a seconda delle impostazioni di connessione e simili. Avrai bisogno delle due sezioni, le origini dati definiscono il tipo di connessione, in questo caso uno di SQL Server, quindi il bit che ti dice come si chiama, quale driver usare e quale tipo di autenticazione usare. questo sarà tutto fatto quando si imposta la connessione, è sufficiente il file .reg con esso dentro.

È quindi possibile importarlo su qualsiasi PC facendo doppio clic sul file reg o se si dispone della funzione di eseguire uno script per importarlo utilizzando regedit. Puoi chiamare questa importazione da un file batch:

regedit /s FileToImport.reg

4
Attenzione: esistono due set di chiavi di registro per le connessioni odbc su macchine a 64 bit.
Joel Coel,

Le voci di registro possono anche essere create con reg.exe. Se hai intenzione di spostare comunque un file, potrebbe essere meglio creare un DSN di file anziché un DSN di sistema.
Ansgar Wiechers,

lavori! Ho aperto run regedit ed esportato l'attuale dsn per fare una copia da installare su altre macchine.
crh225,

5
Nota per i programmi a 32 bit in esecuzione su sistemi a 64 bit il percorso è HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\....
Nux,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.