当前位置:K88软件开发文章中心编程语言.NET.NET02 → 文章内容

VB中实现远程数据库的访问

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 0:13:15

:2010-05-13 16:53:00

本文介绍了在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数据源。



VB中实现远程数据库的访问