远程数据库的访问 东莞市厚街网络中心 杨尚勤 ----远程数据对象(RDO)是VB 5.0中基于ODBC API的对象模型,它短 小、快捷、强健,可以访问任何32位ODBC数据源,如SQL Server和 Oracle数据库,是访问远程数据库的更新更高级的工具。 ----使用RDO的一般方法如下。 ----先声明变量: Public con As rdoConnection, res As rdoResultset ----然后初始化rdoEngine,设置用户和口令等缺省参数; With rdoEngine .rdoDefaultUser = "sa" '用户为 sa .rdoDefaultPassword = "pass" '口令为 pass .rdoDefaultCursorDriver = rdUseServer .rdoDefaultLoginTimeout = 15 End With ----再连接到要访问的远程数据库(可使用DSN Connection和DSN-Less Connection)。 ----使用DSN Connection举例(连接服务器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位操作系统(如WindowsNT或Windows95), 才能支持RDO和RDC。RDO和RDC也只能用于访问32位ODBC数据源。