pb通过RegistrySet注册odbc数据源后,会在控制面板-管理工具-odbc里面出现吗?
我通过RegistrySet注册成功,查找Regist,发现有注册的值。但在控制面板-管理工具-odbc,里面没有看到这一条数据源信息。不知道是否应该出现???
[解决办法]
楼主可以完善以下几个节点
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources
[解决办法]
//以access数据库、注册到系统DSN下为例:
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources', 'DSN_Name', RegString!, 'Microsoft Access Driver (*.mdb)')
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name', 'Driver',RegString!, 'Microsoft Access Driver (*.mdb)')
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name', 'DBQ',RegString!, '数据文件路径')
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name', 'Description', RegString!,'数据源描述')
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name', 'DriverId', ReguLong!,25)
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name', 'FIL',RegString!,'MS Access;')
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name', 'SafeTransactions', ReguLong!, 0)
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name', 'UID',RegString!, '')
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name\Engines', '',RegString!, '')
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name\Engines\Jet', 'ImplicitCommitSync', RegString!, 'yes')
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name\Engines\Jet', 'MaxBufferSize', ReguLong!, 2048)
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name\Engines\Jet', 'PageTimeout', ReguLong!, 5)
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name\Engines\Jet', 'Threads', ReguLong!, 3)
RegistrySet('HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DSN_Name\Engines\Jet', 'UserCommitSync', RegString!, 'Yes')