持续连接到Access 2007中的链接ODBC表

问题描述:

我正在试图为具有ODBC链接表的MS Access 2007数据库实施和测试this Performance tip持续连接到Access 2007中的链接ODBC表

基本上它创建了一个到链接数据库的持久连接。该示例使用另一个Access文件(.mdb)。

在我的情况下,我使用SQL Server的链接表和一个dsn文件。虽然我想使用用户/系统DSN,但现在需要使用文件DSN。我无法通过文件DSN和openDatabase方法获取连接。

问题:如果我只是通过记录集打开其中一个表并保持打开状态,那么可以看到相同的好处?

代码示例中:

Static dbsOpen As DAO.Database 
Set dbsOpen(x) = OpenDatabase("H:\folder\Backend1.mdb") 

记录基于CurrentDB:

Static rs As DAO.Recordset 
Set rs = CurrentDb.OpenRecordset("tablename") 

的性能优势,以从访问的持久连接来获得仅适用于喷气/ ACE后端,即,MDB/ACCDB,因为性能增加的原因是锁定文件在连接打开时创建,并且只要连接打开就保留。创建/锁定LDB文件的开销非常大,这就是您要避免的,即只做一次,而不是每次访问数据时都要重做。因为它是一个特定于数据库引擎的优化,所以对ODBC数据源完全有效,除非该数据库也使用锁定文件(如Jet/ACE)。

+0

那么你认为与ODBC连接,这会产生负面影响或中立?会不会对Connection Pooling产生影响? – 2011-01-10 14:58:25