【发布时间】:2019-01-10 20:16:07
【问题描述】:
我们可以使用 currentproject.connection 或使用 DSN (DSN=MyDSN;UID=MyID;PWD=MyPwd) 或 DSN-Less 连接字符串 (
DRIVER=\{SQL Server\};SERVER=
MyServer;DATABASE=pubs;
UID=MyID;PWD=MyPwd)
我的问题专门针对连接到 SQL Server 的链接表。
我有一个连接到 SQL Server 后端的无 DSN 链接表。我使用微软提供的this 代码来创建无 DSN 连接。如果我这样做了
debug.print currentproject.connection我得到类似的东西
Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\DAVE\Desktop\DATA.accdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database=C:\Users\DAVE\AppData\Roaming\Microsoft\Access\System3.mdw;Jet OLEDB:Registry Path=Software\Microsoft\Office\16.0\Access\Access Connectivity Engine;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=True;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False
我猜,上面的字符串被转换成一个无 dsn 的连接字符串,看起来像这样:
DRIVER=\{SQL Server\};SERVER=
MyServer;DATABASE=pubs;
UID=MyID;PWD=MyPwd)
考虑到这种转换速度,使用连接字符串比使用currentproject.connection 更快吗?
【问题讨论】: