说明DSN的设定方法:有的应用
程序就是用这种方法进行设定,但仍不是很实用的办法。
将SQL Server名保存在Windows Registry或INI文件,在连接时对rdoConnectio ns对象的属性作如下设置:在初次运行应用程序,或者找不到指定的SQL Server名的情况下,要求用户进行输入,并设置在Windows Registry或INI文件中。通常,SQL Server名不会改变;当连接出现错误时,可以像初次运行应用
程序时那样,为用户提供指定SQL Server 名的对话框,这种做法最为理想。
利用ODBC3.0驱动支持的功能在连接时实际指定DSN文件:作安装程序时包含这个DS N信息的文件,随同
程序一起安装。
此外还有其他一些DSN的连接方法,这里不作一一描述。 这些方法中具体哪一个最实用,需根据各种应用
程序的安全性要求、安装方法等进行考虑加以选择,一般是组合上述方法的其中几种来编程。也就是说,用DSN文件的方式来作实际上的连接,而同时采用对DSN文件是否存在进行检查、不存在时要求用户输入SQLServer 名、用户名、口令并即时自动生成的方法。 实际的连接除了RDO 1.0的OpenConnection方法以外,也可以用RDO 2.0中新增加的Esta blishConnection方法,我们将在下期中介绍这些方法。此外,下面我们还将通过实际代码向大家继续介绍经DSN对SQL Server的连接方式、数据的读取、追加、更新、删除等内容。
实例
在本系列文章的上篇刊文中,我们介绍了RDO的发展、优势、对象模块、趋势,以及通过RDO与SQL Server的连接和断开等内容,本期将通过实例来介绍RDO的应用。
OpenConnection方法的调用方式如下:
[调用方式:OpenConnection(dsName, Prompt, ReadOnly, Connect)]
其中参数说明如下:
dsName,指定登录在系统中的DSN条目。当用Connect参数指定DSN值时,dsName必须为“”(长度为0的文字列)。
Prompt,当设置为rdDriverPrompt常数时,可以在不能与SQL Server连接的情况下,激活ODBC设置对话框来设定DSN。只是最好不要让一般用户随意更改这个设定。通常情况下,正确的处理方法是设定为rdDriverNoPrompt,利用Error处理程序编程进行处理。
ReadOnly,若需要通过连接对数据进行更新时设定为False。若没有数据更新的必要则设为True,这时因为ODBC驱动没有对数据更新进行管理的需要,可以提高程序效率。
Connect,向ODBC驱动管理器传递所有的ODBC连接参数。可以省略dsName,只通过Co nnect参数进行包括用户名、口令、缺省数据库、DSN(此时dsName参数的值无效)等全部参数值的传递。
下面是OpenConnection方法的一个实例。
设定的DSN为MyDSN:
Dim Cn As rdoConnection
Dim En As rdoEnvironment
Dim Conn As String
Conn = “DSN = MyDSN; UID = Jacob;” & “PWD = 123456; DATABASE = MyDb;”
Set Cn = En.OpenConnection(“”, rdDriverPrompt, False, Conn)
在这个例子中,dsName是空 “”(长度为0的文字列)。DSN情报从Conn参数中所含的DSN = MyDSN取得。
OpenConnection方法中也可以通过变量来进行参数传递:
[变量名:=值]
Set Cn = En.OpenConnection(Prompt := rdDriverPrompt, ReadOnly := False, Conn ect := Cnn)
虽然这多少有一些多余的代码,但毫无疑问会使程序维护工作容易得多。
EstablishConnection方法
EstablishConnection方法的调用方式如下:
调用方式:EstablishConnection(Prompt, ReadOnly, Connect)
本文前面对独立(stand alone)的连接对象(rdoConnection)作了说明,EstablishCon nection方法可以用于这种情况。Establis