ccidnet????

出版日期:2000-05-08 总期号:919 本年期号:31

本期导读
要闻综合
电脑工作室
市场
硬件
软件
infotimes
安装程序如何自动注册odbc数据源



  数据库应用系统不同于一般的应用程序,它的分发过程中应该直接实现odbc数据源的注册与安装,所以它始终是一些初学者经常询问的问题。本文就以一个使用pb6.5开发的、以sql any where 5.5为数据库的应用为例,介绍如何使用installshield 6.0制作一个可以完成odbc数据源注册的安装程序。

  odbc数据源的注册可以通过修改注册表来实现,从installshield 5.1以后版本都提供了注册表注册功能,你可以方便地在安装过程中实现注册表的添加与修改。具体方法如下:

  首先假设qms.db、qms.log是系统使用的数据库文件(sql any where 5.0),设置安装到〈targetdir〉目录,也就是用户选择安装的路径,在installshied中用〈 targetdir 〉表示。

  启动数据库引擎所需的文件是:wtr50t.dll、wod50t.dll、wl50ent.dll、dbl50t.dll、dbeng50.exe等,设置安装到〈commonfiles〉\my shared目录下,也就是program files\common files\my shared,这种文件存放位置比较符合规范,大家可以注意到insprise、microsoft等大公司的产品需要的共享文件都放在类似的路径下。


  然后,在installshield中切换到“resources"页,这里可以设置定量表、注册表、快捷方式等,在“registry entries”上单击鼠标右键,选中“new registry set”,给它取个名字。然后就可以像在注册表中添加一样添加内容了,如下图所示。如果你使用的是5.1版本,就必须一次写到底,例如创建“hkey—local—machine\software\odbc\odbc.ini\qms"主键时就必须在“hkey—local—machine"下添加“software\odbc\odbc.ini\qms",然后在它下面添加字符串值、二进制值或者dword值。

  类似下面的方法添加字符串值:

  //让系统知道已经安装了sql any where 5.0

  [hkey—local—machine\software\odbc\odbcinst.ini\sybase sql anywhere 5.0]

  ″driver″=〈commonfiles〉\my shared\wod50t.dll″

  ″setup″=″〈commonfiles〉\my shared\wod50t.dll″

  //添加sql any where 5.0的数据源

  [hkey—local—machine\software\odbc\odbc.ini\qms]

  //设置驱动,假设wod50t.dll、dbeng50.exe等文件安装到〈commonfiles〉\my shared目录下

  ″driver″=″〈commonfiles〉\my shared\wod50t.dll″

  //缺省用户名,一般不能加上password的具体值

  ″uid″=″dba″

  ″password″=″″

  //你可以修改后面的参数,例如″-q c512″等

  ″start″=″〈commonfiles〉\my shared\dbeng50.exe -q″

  ″databasefile″=″〈targetdir〉\qms.db″

  //qms就是需要生成的odbc数据源名字,程序中是使用的dsn

  ″databasename″=″qms″

  ″autostop″=″yes″

  //设置其他参数…

  //指明qms使用的是sybase sql anywhere 5.0数据库

  [hkey—local—machine\software\odbc\odbc.ini\odbc data sources]

  ″qms″=″sybase sql anywhere 5.0″

  好了,这样就可以实现一个使用sybase sql anywhere 5.0数据库的名为qms的odbc数据源的注册了。

  注意:安装程序必须将上面所需要的文件一起打包安装。