2011-01-09 112 views
0

我正在試圖爲具有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") 

回答

1

的性能優勢,以從訪問的持久連接來獲得僅適用於噴氣/ ACE後端,即,MDB/ACCDB,因爲性能增加的原因是鎖定文件在連接打開時創建,並且只要連接打開就保留。創建/鎖定LDB文件的開銷非常大,這就是您要避免的,即只做一次,而不是每次訪問數據時都要重做。因爲它是一個特定於數據庫引擎的優化,所以對ODBC數據源完全有效,除非該數據庫也使用鎖定文件(如Jet/ACE)。

+0

那麼你認爲與ODBC連接,這會產生負面影響或中立?會不會對Connection Pooling產生影響? – 2011-01-10 14:58:25