DAO ODBC 与 Jet 连接的建立

为了从远程数据源读取数据,Jet 至少需要一个连接。如果还希望对结果集进行更新,除非还存在另外一个可供使用的连接,否则 Jet 就会试图打开另外一个连接。也就是说,一个连接用来置入结果集,另外一个连接用来更新它。但是当使用 MoveLast 方法时,一旦结果集已经全部置入,那么就可以关闭第一个连接,或是对它作高速缓存。

用户 ID 和密码的提供

为了能够访问远程数据源,一般必须同时提供用户 ID 和密码。这些参数可以在 Data 控件的 Connect 属性中给出,也可以在 OpenDatabase 方法中提供。如果没有提供这些参数,那么 ODBC 驱动程序管理器就会通过一个对话框来收集用户名称、密码和其它需要建立连接的丢失的信息。使用 DAO 和 Jet 无法来禁止这个对话框。但是通过利用 ODBCDirect 或 RDO 提示参数,不仅可以使该对话无效,而且代码还可获得可捕获的错误。

直接打开连接

Jet 在管理与 Microsoft SQL Server 的连接上遵循以下原则:

间接打开连接

使用 Jet 打开一个远程数据源的连接,效率往往更高。通过打开一个包含有与远程数据库表或视图的 Jet 数据库,可以很简单地实现它。访问这些附属的(链接的)对象时,Jet 会利用创建这种附属关系时所提供的已高速缓存的连接信息来建立连接。如果 Jet 由于某种原因未能打开连接,ODBC 驱动程序管理器就会通过一系列对话框来试图收集和登录 DSN 信息以建立这个连接。通过 Jet 使用 DAO 无法使这些对话框失效。

另一种可供选择的途径是通过在一个打开的 DAO/Jet Database 对象上设置 Connect 属性,为 DAO 和 Jet 提供所需的连接信息。使用这种技术,就能够象连接已直接打开一样来使用 SQL PassThrough 查询。

详细信息   有关说明 OpenDatabase 和 OpenRecordset 的代码实例,请参阅《语言参考》中的“OpenDatabase”和“OpenRecordset”部分。