我正在尝试使用ODBC链接表为MS Access 2007数据库实现和测试this Performance tip。
基本上它会创建与链接数据库的持久连接。该示例使用另一个Access文件(.mdb)。
就我而言,我正在使用SQL Server中的链接表和文件dsn。虽然我想使用用户/系统DSN,但我现在需要使用DSN文件。我无法通过文件DSN和openDatabase方法获得连接。
问题:如果我只是通过记录集打开其中一个表并保持打开状态会有同样的好处吗?
示例中的代码:
Static dbsOpen As DAO.Database
Set dbsOpen(x) = OpenDatabase("H:\folder\Backend1.mdb")
基于CurrentDB的Recordset:
Static rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("tablename")
答案 0 :(得分:1)
从Access中的持久连接获得的性能优势仅适用于Jet / ACE后端,即MDB / ACCDB,因为性能提升的原因是在打开连接时创建了锁定文件只要连接打开,它就会持续存在。创建/锁定LDB文件的开销非常高,这就是你要避免的,即只做一次,而不是每次访问数据时重做它。
因此,由于它是一个特定于数据库引擎的优化,它将对ODBC数据源产生影响,除非该数据库也使用锁定文件(如Jet / ACE)。