Delphi:发布程序时对ODBC数据源的配置方法
来源:优易学  2011-10-10 10:11:35   【优易学:中国教育考试门户网】   资料下载   IT书店
  发布程序时对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,在其事件中写考试大-全国最大教育类网站(www.Examda。com)
  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;

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训