发布程序时对ODBC数据源的配置方法

    技术2022-05-11  129

               发布程序时对ODBC数据源的配置方法                                维志,2002.4.8           方法1:  修改注册表

           可在制作安装程序时,利用安装程序的制作工具来修改注册表,完成ODBC数据源的配置,       ODBC可用的驱动程序放在系统注册表的  HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI  下,       ODBC的 System DSN 在系统注册表的  HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI 下,       ODBC的 User DSN 在系统注册表的 HKEY_CURRENT_USER/Software/ODBC/ODBC.INI 下       你可以打开注册表看一看就明白了!             方法2: 程序设置法, 可用自己的程式序来完成ODBC的配置,一种简单的方法是使用ODBCCP32.DLL中提供的一个函数来实现,       此函数在Delphi中可声明如下:

         //配置ODBC数据源,成功则返回True     function SQLConfigDataSource(         hwndParent: Integer;           fRequest: LongInt;           lpszDriverString: string;          lpszAttributes: string      ): LongBool; stdcall; external 'ODBCCP32.DLL';

       参数说明:     hwndParent: 父窗口Handle,当指定为0时不会出现对话框,否则会弹出标准的ODBC配置对话框          fRequest: 命令请求,用来指明你要完成的功能,其值可为:               ODBC_ADD_DSN        = 1;               ODBC_CONFIG_DSN     = 2;               ODBC_REMOVE_DSN     = 3;               ODBC_ADD_SYS_DSN    = 4;               ODBC_CONFIG_SYS_DSN = 5;               ODBC_REMOVE_SYS_DSN = 6;          lpszDriverString: 驱动程序名称,就是在ODBC设置中显示的驱动程序名称,如 Microsoft Access Driver (*.mdb)          lpszAttributes: 此DSN的一些属性,可有多项,各项之间用分号(;)分隔          用法如下:    

    const  ODBC_ADD_DSN        = 1;  ODBC_CONFIG_DSN     = 2;  ODBC_REMOVE_DSN     = 3;  ODBC_ADD_SYS_DSN    = 4;  ODBC_CONFIG_SYS_DSN = 5;  ODBC_REMOVE_SYS_DSN = 6;  在Form中放入一个Button,在其事件中写procedure TForm1.Button1Click(Sender: TObject);begin SQLConfigDataSource(     0,     ODBC_ADD_SYS_DSN,     'Microsoft Access Driver (*.mdb)',      'DSN=MyAccessDB;DBQ=C:/MyDB/MyDB.MDB;DefaultDir=C:/MyDB;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;Description=我的数据库'  );end;

    单击Button1后再打开控制面板的ODBC设置程序,可看到其中已加入名为MyAccessDB的DSN

    你也可以在系统注册表中看到新加入了HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI/MyAccessDB键,其它存放着函数中指定的参数.

    若改为procedure TForm1.Button1Click(Sender: TObject);begin SQLConfigDataSource(     Handle,     ODBC_ADD_SYS_DSN,     'Microsoft Access Driver (*.mdb)',      'DSN=MyAccessDB;DBQ=C:/MyDB/MyDB.MDB;DefaultDir=C:/MyDB;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;Description=我的数据库'  );end;

    单击Button1后,会弹出一个标准的Access数据源的设置窗体,如下图:

     


    最新回复(0)