Windows 是否在安装时创建ODBC设置?

Windows 是否在安装时创建ODBC设置?,windows,installation,odbc,Windows,Installation,Odbc,传统上,我的客户端软件通过进入“管理工具”并手动创建新的ODBC连接来强制配置ODBC源 在安装过程中是否仍需要配置新的ODBC连接 请注意,是否有一种方法可以捕获现有的ODBC连接以用于此理论过程?是的,有。整个ODBC对象存储在注册表中。您只需创建一些注册表设置 我假设如果您仍在使用ODBC,那么您就必须使用Microsoft Access。下面是一些Access的示例设置。如果您的提供商不同,请告知我们,我们也会提供帮助 对于这些示例,假设您的ODBC连接名为MyODBC Section:

传统上,我的客户端软件通过进入“管理工具”并手动创建新的ODBC连接来强制配置ODBC源

在安装过程中是否仍需要配置新的ODBC连接


请注意,是否有一种方法可以捕获现有的ODBC连接以用于此理论过程?

是的,有。整个ODBC对象存储在注册表中。您只需创建一些注册表设置

我假设如果您仍在使用ODBC,那么您就必须使用Microsoft Access。下面是一些Access的示例设置。如果您的提供商不同,请告知我们,我们也会提供帮助

对于这些示例,假设您的ODBC连接名为MyODBC

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources
Key:  "MyODBC"
Value: "Microsoft Access Driver (*.mdb)"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC
Key: "FIL"
Value: "MS Access;"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC
Key: "Driver"
Value: "$SYSDIR\odbcjt32.dll"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC
Key: "Description"
Value: "Description you'd like your users to see in Control Panel"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC
Key: "UID"
Value: The Access UserName if any.  This is optional.

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC
Key: "DBQ"
Value: The installation directory/YourDB.mdb

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC
Key: "SafeTransactions"
Value: "00000000"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC
Key: "DriverID"
Value: "00000019"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC\Engines\Jet
Key: "Threads"
Value: "00000003"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC\Engines\Jet
Key: "ImplicitCommitSync"
Value: ""

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC\Engines\Jet
Key: "UserCommitSync"
Value: "Yes"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC\Engines\Jet
Key: "PageTimeout"
Value: "00000005"

Section: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyODBC\Engines\Jet
Key: "MaxBufferSize"
Value: "00000800"

当然,您使用的安装程序将决定这些文件是如何创建的。

回答我自己的问题

每个ODBC配置文件位于:

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
配置文件包含以下内容:

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\<ODBC PROFILE NAME>]
"Driver"="C:\\WINDOWS\\system32\\SQLSRV32.dll"
"Server"="<ODBC PROFILE DSN>"
"LastUser"="<LAST USER TO ACCESS ODBC (probably for lock)>"
[HKEY\U LOCAL\u MACHINE\SOFTWARE\ODBC\ODBC.INI\]
“驱动程序”=“C:\\WINDOWS\\system32\\SQLSRV32.dll”
“服务器”=“”
“LastUser”=“”

我曾经使用过nullsoft安装程序,他们有一些示例脚本

基本上,您将正确的值写入注册表:HKEY\U LOCAL\U MACHINE“SOFTWARE\ODBC\ODBC.INI\ODBC数据源”

使用打包软件中包含的注册表工具


你用哪一种?什么类型的数据库?

这也很重要,因为它定义了系统上的ODBC驱动程序。它用于将ODBC连接部署到SQL数据库,用于遗留应用程序,该应用程序使用ADO进行一些我们尚未完全更新的操作。我会在测试盒上手动创建连接,然后从测试机的注册表中导出相应的条目。将其另存为部署的一部分。然后在安装期间使用安装程序的帮助程序(或命令行)导入该树。