安装程序如何自动注册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数据源的注册了。注意:安装程序必须将上面所需要的文件一起打包安装。
欢迎您的意见!