Database 版 (精华区)

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


三 用Microsoft Jet访问ODBC数据

    正如本章前面所述,Microsoft Jet 和 DAO 提供了相当大的灵
活性来访问 ODBC 数据源中的数据。本节将介绍如何使用Microsoft
Jet 和 DAO 来访问 ODBC 数据。

  1 连接到服务器

    要访问远程服务器,应用程序必须跨过网络来建立与该服务器
的连接。在某些情况下,连接是自动建立的;而在有些情况下,需
要在应用程序请求时显式地建立连接。
    可以使用下面方法中的任何一种来连接使用 Jet 数据库引擎的
服务器。
      * 链接表和视图。
      * 使用直通查询来直接向服务器发送 SQL 语句。
      * 使用 DAO 直接访问服务器。
        
  (1) 链接表和视图
    通过 Microsoft Jet 访问 ODBC 数据的最有效的方法,是将表
链接到服务器上,而不是直接打开数据库。然后可以在应用程序中使
用查询,就象在 Microsoft Jet 数据库中使用它们一样。
    虽然直接打开数据库好象比链接要快,但事实并非如此。当在 
Visual Basic 代码中使用 OpenDatabase 方法来访问数据时,每次
打开一个表,都要检索该表的信息(包括它的字段以及索引)。而当
链接一个表时,这些信息是永久存放在本地数据库中的。因为在本地
数据库中缓存了这些信息,所以访问该表费时较少。
    注意重要的一点,由于链接的表将有关表的结构信息以及它们的
字段和索引都存放在本地,在服务器上的表的结构的变更不会自动同
步更新本地数据库中的信息。因此,如果在服务器上改变了表的结构
或它们的索引,必须重新对远程表进行链接。
  (2) 链接 SQL 视图和创建伪索引
    如果服务器支持 SQL 视图的创建,则可以将它们链接到本地数据
库上。Jet 引擎会象处理没有索引的链接表一样,来处理链接视图。
在视图中定义的处理过程总是由服务器执行的,而不管本地运行什么
操作。
    如果服务器允许使用视图来更新数据,并且想利用 Visual Basic
中这种更新的优点,则需要在链接的视图中创建伪索引(pseudo index)。
这个伪索引指出程序中的哪个字段或哪些字段唯一地表示了由该视图返
回的记录。然后程序就可以在该视图上创建一个可更新的、窗体和查询
可以使用的动态集。
    例如,假设链接了名为 SeptOrdersView 的 SQL 视图,它返回服务
器上的 Orders 表中的一个记录子集,并且把该链接视图命名为
 SeptemberOrders。因为 OrderID 字段在该视图中仍然具有唯一性,所
以可用下面的 SQL 语句来运行一个数据定义查询(不是直通查询):
      CREATE UNIQUE INDEX index1 ON SeptemberOrders (OrderID)
    由于运行的是数据定义查询而不是直通查询,所以它不会在服务器
上创建索引,也不会在本地数据库上创建真实的索引。它只是告诉应用
程序,OrderID 字段是链接视图的唯一键。

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

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