本文介绍了在VB中访问远程数据库的方法与步骤。
远程数据对象(RDO)是VB 5.0中基于ODBC API的对象模型,它短小、快捷、强健,可以访问任何32位ODBC数据源,如SQL Server和Oracle数据库,是访问远程数据库的更新更高级的工具。
使用RDO的一般方法如下。
(1)先声明变量:Public con As rdoConnection, res As rdoResultset
(2)然后初始化rdoEngine,设置用户和口令等缺省参数;
With rdoEngine
.rdoDefaultUser = "sa" '用户为 sa
.rdoDefaultPassword = "pass" '口令为 pass
.rdoDefaultCursorDriver = rdUseServer
.rdoDefaultLoginTimeout = 15
End With
(3)再连接到要访问的远程数据库(可使用DSN Connection和DSN-Less Connection)。
使用DSNC onnection举例(连接服务器SERVER上的数据库hotel):
Set con = rdoEnvironments(0)
.OpenConnection ("hotel", rdDriverNoPrompt, False)
使用DSN-Less Connection 举例(连接服务器SERVER上的数据库hotel):
Set con = rdoEnvironments(0)
.OpenConnection ("", rdDriverNoPrompt, False, "driver={SQL Server}; server= _ SERVER; database=hotel")
建立连接后,既可使用OpenResultset方法执行查询并处理结果集,又可使用Execute方法执行包括数据定义和数据操作在内的动作查询。 例 如:
Set res = con.OpenResultset ("SELECT * FROM menu", rdOpenStatic)
con.Execute "CREATE VIEW menu_view AS SELECT代码,菜名FROM menu",rdExecDirect
RDO最强大和最重要的特性之一是:它可以查询和处理由存储过程返回的结果,无论它有多么复杂。
除RDO外,还可使用RDC访问远程数据库。
远程数据控件(RDC)与数据控件(DC)类似,不同之处是RDC使用RDO连接到ODBC驱动程序管理器,而DC则使用DAO连接到Jet数据库引擎。利用RDO和RDC,无需使用Jet引擎就可以访问ODBC数据源。这样,在访问远程数据库时,可以获得更好的性能和更大的灵活性。
远程数据控件MSRDC使用举例如下。
Connect: driver={SQL Server}; server=SERVER; database=hotel
DataSourceName:
SQL: SELECT * FROM menu
UserName: sa
Password: pass
CursorDriver: 3-rdUseClient
可以使用RDC执行许多简单的远程数据访问操作,不需编写任何代码,只要填写有关项就可以了,使用起来很方便。但应注意,除非在设计时禁止并只在需要时启动RDC,否则它至少将消耗一个远程数据库连接。在远程数据库连接资源有限或要求很高效的情况下,宜慎用、少用RDC。这种情况下,应尽可能考虑使用RDO,并使用存储过程(预编译好的SQL语句)。
最后还应注意,只有32位操作系统(如Windows NT或Windows 95),才能支持RDO和RDC。RDO 和RDC也只能用于访问32位ODBC数据源。
新闻热点
疑难解答