如何在Windows中从.bat文件创建ODBC连接?


9

我需要一个批处理脚本来从Windows中的.bat文件创建ODBC / DSN连接。我怎样才能做到这一点?


.bat只允许您访问命令行中的内容,因此我认为这是不可能的。尽管我从没做过,但是使用Visual Basic还是应该可以的。
罗伯特

@Robert那是可能的。已经做了。
Jhonathan

Answers:


11

当然。

使用管理工具中的“数据源(ODBC)”小程序在PC上手动创建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 Server,然后是告诉您调用该位,使用哪种驱动程序以及使用哪种身份验证的位。设置连接后,所有这些都将完成,只需要插入其中的.reg文件即可。

然后,您可以在任何PC上通过双击reg文件将其导入,或者如果您拥有设施,则可以运行脚本以使用regedit导入它。您可以从批处理文件调用此导入:

regedit /s FileToImport.reg

4
注意:64位计算机上的odbc连接有两组注册表项。
乔尔·科尔

也可以使用创建注册表项reg.exe。如果仍然要移动文件,最好创建文件DSN而不是系统DSN。
Ansgar Wiechers,2012年

作品!我打开运行regedit并导出了当前的dsn,以制作一个副本以安装在其他计算机上。
crh225 2013年

5
请注意,对于在64位系统上运行的32位程序,路径为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\...
Nux 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.