我试图弄清楚如何在Access 2010中针对ODBC数据库表执行动态追加查询(请参阅问题12592953),并且有人建议启用showplan调试输出:techrepublic链接.但Access 2010/accdb数据库显然不使用Jet引擎,所以这对我没有帮助.
更新:这是我正在努力工作的查询(完整描述在上面链接的其他stackoverflow问题中).它应该使用远程副本中的新行更新表的本地副本.但是会发生什么是Access拉取整个远程表(这是巨大的并导致ODBC超时),然后在WHERE本地运行.
INSERT INTO local (dt, latitude, longitude)
SELECT dt, latitude, longitude
FROM remote_odbc, (SELECT max(dt) AS max_dt FROM local) AS sub
WHERE remote_odbc.dt > max_dt;
Run Code Online (Sandbox Code Playgroud)
是否有类似于Access 2010中的Jet/Debug/showplan注册表黑客,以获取有关Access如何查看查询的更多信息?
谢谢@Fionnuala
对于Access 2010 32位您将需要以下密钥:
在Windows 7 32位上:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug]
"JETSHOWPLAN"="ON"
Run Code Online (Sandbox Code Playgroud)
或者在Windows 7 64位上:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug]
"JETSHOWPLAN"="ON"
Run Code Online (Sandbox Code Playgroud)
我需要创建Debug用于放入密钥的文件夹.
您将需要以下密钥:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug]
"JETSHOWPLAN"="ON"
Run Code Online (Sandbox Code Playgroud)
上面的内容是从运行 Access 2010 的 Windows 7 注册表导出的,并为我生成 showplan.out。