发布程序时对ODBC数据源的配置方法
方法 : 修改注册表 可在制作安装程序时 利用安装程序的制作工具来修改注册表 完成ODBC数据源的配置 ODBC可用的驱动程序放在系统注册表的 HKEY_LOCAL_MACHINE\SOFARE\ODBC\ODBCINST INI 下 ODBC的 System DSN 在系统注册表的 HKEY_LOCAL_MACHINE\SOFARE\ODBC\ODBC INI 下 ODBC的 User DSN 在系统注册表的 HKEY_CURRENT_USER\Sofare\ODBC\ODBC INI 下 你可以打开注册表看一看就明白了!
方法 : 程序设置法 可用自己的程式序来完成ODBC的配置 一种简单的方法是使用ODBCCP DLL中提供的一个函数来实现 此函数在Delphi中可声明如下:
//配置ODBC数据源 成功则返回True function SQLConfigDataSource( hwndParent: Integer; fRequest: LongInt; lpszDriverString: string; lpszAttributes: string ): LongBool; stdcall; external ODBCCP DLL ;
参数说明: 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 TForm Button Click(Sender: TObject);beginSQLConfigDataSource( ODBC_ADD_SYS_DSN Microsoft Access Driver (* mdb) DSN=MyAccessDB;DBQ=C:\MyDB\MyDB MDB;DefaultDir=C:\MyDB;FIL=MS Access;MaxBufferSize= ;PageTimeout= ;Description=我的数据库 );end;
单击Button 后再打开控制面板的ODBC设置程序 可看到其中已加入名为MyAccessDB的DSN
你也可以在系统注册表中看到新加入了HKEY_LOCAL_MACHINE\SOFARE\ODBC\ODBC INI\MyAccessDB键 其它存放著函数中指定的参数
lishixinzhi/Article/program/Delphi/201311/25069