【SQL开源代码栏目提醒】:网学会员在SQL开源代码频道为大家收集整理了“几种注册ODBC数据源的方法 - 互联网“提供大家参考,希望对大家有所帮助!
几种注册ODBC数据源的方法 几种注册ODBC数据源的方法 一、手工配置1.ODBC数据源管理器在进行数据库开发时为了达到配置ODBC进行DSN定义注册的目的微软给出了一个手工操作的解决方法。
在Windows 9X操作系统的控制面板中有一个名为ODBC数据源32位的图标可以通过它激活专门为用户设置ODBC环境的程序ODBC Data Source AdministratorODBC数据源管理器。
在Windows 2000操作系统中上述图标被放置在控制面板的管理工具里面。
这个用于设置ODBC环境的程序叫做桌面驱动程序它支持数种DBMSDatabase Management System数据库管理系统。
当用户想增加一个数据源和一个所需要的驱动程序时可以通过ODBC数据源管理器的配置对话框配置特定类型的数据库。
大多数情况下在编写对数据库操作的程序时我们至少需要知道诸如数据库文件名、系统本地或远程、文件夹等信息同时要给数据源命名。
2.定义数据源的类型用户可以定义以下三种类型的数据源●用户数据源作为位于计算机本地的用户数据源而创建的并且只能被创建这个数据源的用户所使用●系统数据源作为属于计算机或系统而不是特定用户的系统数据源而创建的用户必须有访问权才能使用●文件数据源指定到文件中作为文件数据源而定义的任何已经正确地安装了驱动程序的用户皆可以使用这种数据源。
3.数据源注册的步骤以Microsoft Access为例如果在Cmyfile文件夹里创建了一个名为myexample.mdb的数据库文件其注册步骤如下●在控制面板里找到ODBC数据源图标打开数据源管理器的交互界面●笔者创建的数据库文件是供本机上的用户使用的所以这里选择用户DSN●然后按下添加按钮在弹出的数据源管理器对话框里为自己所要创建的数据源选择一个驱动程序本文的数据库文件是用Microsoft Access创建的所以要选择Microsoft Access Driver.mdb●按完成按钮后进入一个标题为ODBC Microsoft Access安装的界面在其中设置数据源名为mydatasource选取数据库文件Cmyfilemyexample.mdb然后确定即可。
这样我们就完成了一个简单的ODBC数据源的注册。
当然在以上的步骤中用户可以根据自己的不同需要设置不同的选项。
注册结束后我们便可以在对数据库的编程中操作该数据库了。
二、在VB中注册数据源在VB中对数据库进行编程时可以利用RegisterDataSource方法为ODBC数据源输入连接信息到Windows注册表中。
它的语法是RegisterDataSource DSNdriversilentattributes其中参数代表的含义分别为●DSN字符串表达式它是在引用数据源描述信息块时所使用的名字。
例如如果数据源是一个ODBC远程数据库这就是服务器的名字如果是用户DSN则是注册的数据源的名字。
●drive字符串表达式表示ODBC驱动程序的名称。
它并不是ODBC驱动程序动态连接库DLL文件名。
例如
SQL Server是驱动程序名而SQLSRVR.DLL是DLL文件名。
必须安装ODBC及相应的驱动程序。
●silent布尔类型值如果不想显示ODBC驱动程序对话框用以提示指定驱动程序的信息该值就为True如果希望显示ODBC驱动程序对话框该值就为False。
如果silent为True那么attributes必须包含所有必需的指定驱动程序的信息。
●attributes字符串表达式它是一个要添加到ODBC.INI文件中的关键字列表。
编写程序时可以根据需要选择若干attributes的参数进行设置。
例如我们可以编写如下的VB程序达到与上面手工注册一样的目的。
程序清单如下Sub RegisterDataSourceDim strAttribs As String建造关键字字符串。
Cmyfilemyexample.l.mdb数据库文件名包含路径strAttribsDBQ_Cmyfilemyexample.mdb_Chr13OemToAnsiNo_Chr13SERVERSEQUEL_Chr13NetworkDBNMPNTW_Chr13DatabaseWorkDB_Chr13AddressSEQUELPIPESQLQUERY建立新的注册的DSN。
rdoEngine.rdoRegisterDataSourcemydatasourceMicrosoft Access Driver.mdbTruestrAttribs End Sub Private Sub Form_LoadCall rdoRegisterDataSource End Sub注意为了在
代码中使用rdoEngine和远程数据对象必须先在引用对话框中设置一个到Microsoft Remote Data Object 2.0对象库的引用否则在第一次引用rdoEngine对象时会导致编译错误。
三、利用注册表合并1.解决思路考查ODBC数据源注册后对Windows注册表的修改情况我们可以发现所注册的数据源对Windows注册表的影响关键集中在HKEY_CURRENT_USERSoftwareODBCODBC.INI里。
这样我们导出HKEY_CURRENT_USERSoftwareODBCODBC.INI每次以之为模板把所要注册的数据源信息加入到注册表导出文件的对应位置然后再将该文件与系统注册表合并即可。
2.具体操作首先我们要弄清楚Regedit及其参数的含义。
Regedit是打开系统注册表的命令。
在开始运行中输入即可。
它的三个参数含义如下●Regedit/e myfile.reg表示把注册表文件导出到myfile.reg文件中相当于复制整个注册表文件到myfile.reg中●Regedit/c myfile.reg表示把myfile.reg导入注册表相当于用该文件的内容覆盖了注册表的内容●Regedit/s myfile.reg表示把myfile.reg文件的内容与注册表文件的内容进行合并。
我们只需在注册表中将有用的部分导出而后将所要注册的数据源的信息加入再与系统注册表合并就可以了。
这个合并的过程我们既可以手工输入来实现也可以通过编程实现自动合并。
注意为了防止误操作一定要将系统注册表作一次备份。
小结从安全的角度考虑笔者首推利用在Windows控制面板中的ODBC数据源管理工具来进行数据源注册以免因对注册表的不熟或疏忽造成不必要的损失。
当然还有一些应用工具可以实现对ODBC数据源的注册用户可以根据不同的需求选择使用。
发表于2010年04月01日104500
上一篇:
struts2 JSP 实现分页显示
下一篇:
高中政治教学中情境创设的尝试和思考