对于网上有关内容进行整理,动态的本质在于手动控制ODBC数据源在注册表里的数值!可直接操作注册表也可通过DLL文件操作。
ODBC在注册表中的存储位置:
可用的驱动程序在 HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI 下,
System DSN 在 HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI 下,
User DSN 在 HKEY_CURRENT_USER/Software/ODBC/ODBC.INI 下.
注册表:
在DELPHI程序中动态设置ODBC数据源(创建示例)
http://www.builder.com.cn/2007/1102/600694.shtml
Delphi 5 数据库应用中ODBC数据源的自动管理(修改示例)
http://www.lunwentianxia.com/product.free.5031040.1/
上面各网贴的简化代码例子:
example(http://topic.csdn.net/t/20020705/14/852704.html)
var Reg:TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('/Software/ODBC/ODBC.INI', True) then
begin
if not reg.KeyExists('/Software/ODBC/ODBC.INI/pcPPOLoad') then
begin
Reg.CreateKey('pcPPOLoad');
Reg.OpenKey('/Software/ODBC/ODBC.INI/pcPPOLoad', True);
// Reg.WriteString('','');
Reg.WriteString('Database','PlanningDB');
Reg.WriteString('Driver','C:/WINNT/System32/SQLSRV32.dll');
Reg.WriteSt