Database 版 (精华区)

发信人: mm (绿色的梦), 信区: Database
标  题: 使用VB5开发客户/服务器应用程序(二)
发信站: 紫丁香 (Thu Oct 30 20:21:46 1997)


二 访问ODBC数据的两条途径

    用 DAO 访问 ODBC 数据源有两种不同的方法:
      * Microsoft Jet 数据库引擎
      * ODBCDirect
    Microsoft Jet 提供了很多功能。它处理建立和管理连接、把查
询翻译成服务器可接受的形式和管理返回数据等的许多问题的细节。
    但是,在某些情况下,可能想要绕过 Microsoft Jet 数据库引擎,
而用 DAO 直接调用 ODBC 驱动程序管理器。可以用 ODBCDirect 来实
现这个功能。
    Microsoft Jet 和 ODBCDirect 有各自的优点。在应用程序中可
以同时使用这两种方法,发挥它们各自的长处。

  1 用Microsoft Jet访问ODBC数据

    Microsoft Jet 和 ODBCDirect 工作区提供了不同的但又互补的
功能。应当使用 Microsoft Jet 工作区来访问 MDB 文件和 ISAM 数
据格式(如文本和电子数据表)。同样,当需要用 Microsoft Jet特
有的功能来访问 ODBC 数据时,也要用到它。
    Microsoft Jet 支持,而 ODBCDirect 不支持的功能包括:
      * 可更新的联接。可以更新基于多表联接的 Recordset 对象中
        的数据。
      * 支持链接表。Microsoft Jet 允许在本地 Microsoft Jet 数
        据库中存储与服务器数据的永久性链接。在链接表时,可以
        缓存表的结构信息,这些信息包括本地数据库中的字段和索
        引信息。在下次访问该表时,连接速度会更快,因为不需要
        再次从服务器中检索这些结构信息了。
      * 支持 Find 方法。Microsoft Jet Recordset 对象支持 
        FindFirst、FindNext、FindPrevious 和 FindLast 方法。
      * 更新查询的部分故障。如果一个批量查询因某种原因而失败,
        则查询中止。这时用户有权决定是否提交在失败点处所做的
        变更。
      * 用户定义的属性。使用 Microsoft Jet,可为现存的对象添
        加永久的属性。可用这些属性对象来定义更多的 Microsoft 
        Jet 对象。例如,可为对象添加 Description 属性并为它们
        中的每个指定描述性文本。
      * 交叉表查询。Microsoft Jet 引擎支持 SQL 的 TRANSFORM语
        句,该语句能用来创建用于汇总数据的交叉表查询。
      * 异种数据访问。可以访问服务器数据、本地 Microsoft Jet 
        数据库 (MDB) 数据和外部的ISAM数据(如FoxPro、Paradox、
        Btrieve 和 dBASE 数据)。可联接不同数据源中的表。
      * 可编程 DDL。必须使用Microsoft Jet工作区来执行使用DAO 
        的 DDL 操作。ODBCDirect 不提供 TableDef 对象,所以不能
        创建或修改表。但可通过运行 SQL 的 DDL 语句来执行使用 
        ODBCDirect 的 DDL 操作。
      * 窗体和控件绑定。如果应用程序要求将窗体和控件绑定到ODBC
        数据源的数据中,则必须使用Microsoft Jet。因为ODBCDirect
        不支持链接表,所以在 ODBCDirect 工作区内访问的数据不能
        被绑定到窗体和控件上。
    如果不需要这些功能,则可以独占方式使用 ODBCDirect 工作区。
但也可以同时在应用程序中定义 Microsoft Jet 和 ODBCDirect 工作区。
例如,在同一函数中,可以定义 Microsoft Jet 工作区来执行使用 DAO
的 DDL 操作,同时还可定义 ODBCDirect 工作区来实现异步查询。

  2 用ODBCDirect访问ODBC数据

    ODBCDirect提供了访问服务器数据的更为直接的方法,它直接在ODBC
API 的顶部使用现存的 DAO 对象模型。ODBCDirect 在 ODBC API 之上实
现了简单的代码层,来建立连接、创建游标和执行使用最小的工作站资源
的复杂过程。ODBCDirect 提供了如下优点:
      * 直接访问。使用 ODBCDirect,应用程序可以直接访问 ODBC 数
        据源,这样就使服务器能够响应所有的查询过程。
      * 减少资源需求。由于不需要加载 Microsoft Jet 数据库引擎,
        所以应用程序需要较少的工作站资源。
      * 改善了对服务器特有功能的访问。例如,对支持它的服务器来说,
        ODBCDirect 允许指定游标的位置是在本地还是在服务器上。此外,
        要与存储在服务器上的过程交互,则可指定输入值和检查返回值;
        而在使用 Microsoft Jet 时,这两个操作都是不可能的。
      * 异步查询。可以在执行一个查询的同时执行其它操作,而不用等
        到该查询结束。这样就可以通过检查属性来跟踪查询的执行情况。
        该特性为应用程序在并发性和优化性方面能提供更大可能。
      * 分批的最有利的更新。允许在本地缓存记录集变更,然后成批地
        将这些变更发送给服务器。
      * 更灵活地执行存储过程。使用 ODBCDirect,可以处理来自存储过
        程的输出参数和返回值。

--
                _/     _/        _/     _/
               _/_/ _/_/        _/_/ _/_/
              _/  _/ _/        _/  _/ _/
             _/     _/        _/     _/
            _/     _/        _/     _/         

※ 来源:.紫丁香 pclinux.hit.edu.cn.[FROM: space.hit.edu.c]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.854毫秒