WEB开发网
开发学院软件开发Delphi 发布程序时对ODBC数据源的配置方法 阅读

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

 2006-02-04 13:37:39 来源:WEB开发网   
核心提示: 发布程序时对ODBC数据源的配置方法 维志,2002.4.8 方法1: 修改注册表 可在制作安装程序时,利用安装程序的制作工具来修改注册表,完成ODBC数据源的配置, ODBC可用的驱动程序放在系统注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI 下, OD
 发布程序时对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;

Tags:发布 程序 ODBC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接