方法: 修改注册表
可在制作安装程序时利用安装程序的制作工具来修改注册表完成ODBC数据源的配置ODBC可用的驱动程序放在系统注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINSTINI 下ODBC的 System DSN 在系统注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINI 下ODBC的 User DSN 在系统注册表的 HKEY_CURRENT_USER\Software\ODBC\ODBCINI 下你可以打开注册表看一看就明白了!
方法: 程序设置法
可用自己的程式序来完成ODBC的配置一种简单的方法是使用ODBCCPDLL中提供的一个函数来实现
此函数在Delphi中可声明如下:
//配置ODBC数据源成功则返回True
function SQLConfigDataSource(
hwndParent: Integer;
fRequest: LongInt;
lpszDriverString: string;
lpszAttributes: string
): LongBool; stdcall; external ODBCCPDLL;
参数说明:
hwndParent: 父窗口Handle当指定为时不会出现对话框否则会弹出标准的ODBC配置对话框
fRequest: 命令请求用来指明你要完成的功能其值可为:
ODBC_ADD_DSN = ;
ODBC_CONFIG_DSN = ;
ODBC_REMOVE_DSN = ;
ODBC_ADD_SYS_DSN = ;
ODBC_CONFIG_SYS_DSN = ;
ODBC_REMOVE_SYS_DSN = ;
lpszDriverString: 驱动程序名称就是在ODBC设置中显示的驱动程序名称如 Microsoft Access Driver (*mdb)
lpszAttributes: 此DSN的一些属性可有多项各项之间用分号(;)分隔
用法如下:
const
ODBC_ADD_DSN = ;
ODBC_CONFIG_DSN = ;
ODBC_REMOVE_DSN = ;
ODBC_ADD_SYS_DSN = ;
ODBC_CONFIG_SYS_DSN = ;
ODBC_REMOVE_SYS_DSN = ;
在Form中放入一个Button在其事件中写
procedure TFormButtonClick(Sender: TObject);
begin
SQLConfigDataSource(
ODBC_ADD_SYS_DSN
Microsoft Access Driver (*mdb)
DSN=MyAccessDB;DBQ=C:\MyDB\MyDBMDB;DefaultDir=C:\MyDB;FIL=MS Access;MaxBufferSize=;PageTimeout=;Description=我的数据库
);
end;
单击Button后
再打开控制面板的ODBC设置程序可看到其中已加入名为MyAccessDB的DSN
你也可以在系统注册表中看到新加入了HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINI\MyAccessDB键其它存放着函数中指定的参数
若改为
procedure TFormButtonClick(Sender: TObject);
begin
SQLConfigDataSource(
Handle
ODBC_ADD_SYS_DSN
Microsoft Access Driver (*mdb)
DSN=MyAccessDB;DBQ=C:\MyDB\MyDBMDB;DefaultDir=C:\MyDB;FIL=MS Access;MaxBufferSize=;PageTimeout=;Description=我的数据库
);
end;