QODBC 选择需要 15 >分钟才能返回结果



我对使用QODBC进行QuickBooks报告很陌生。我准备的第一个 SELECT 查询之一基本上是在 ReceivePayment 表中标记具有现有未使用付款的客户,查询同一客户的剩余余额的发票。输出是(或应该是(按 CustomerRefFullName 分组的客户列表,列 #2 中未使用的付款总和,以及未结发票剩余的总余额总和。

这是一个相当简单的查询。当我将表作为静态表导入 MS Access 时,查询速度如预期的那样快。但是,当我对链接表运行查询时,生成结果需要 15 分钟以上。

这不应该发生。这是 MS 访问配置错误的问题吗?我缺少或不知道的与 QODBC 配置相关的其他内容?任何帮助将不胜感激。

我想通知您,当您在 Access 和运行查询中导入 QuickBooks 数据时,显然它会执行得更快,因为所有数据都在本地 MS Access 表中可用(离线(。但是当你从链接表执行查询时,QODBC 正在从 QuickBooks 获取数据。QODBC是一个使用QuickBooks SDK的ODBC驱动程序。

QODBC 的工作原理是通过 ODBC 接口接受来自应用程序的 SQL 命令,然后将这些调用转换为导航 XML 命令,以 QuickBooks 会计 DBMS 并返回符合查询结果条件的记录集。此驱动程序不是客户端/服务器产品,而是在运行时直接与 QuickBooks 应用程序通信。QuickBooks 是一个平面文件数据库,此驱动程序不会将其更改为关系数据库,因此在使用此驱动程序进行开发时请记住这一点。

QODBC充当Intuit SDK的"包装器",因此客户最终可以使用标准数据库工具获取其QuickBooks数据;加快开发时间。

请记住,QODBC不是一个数据库工具,而是一个翻译工具。您请求的每个事务都必须通过大型复杂的XML事务进行翻译并传达给QuickBooks。

QuickBooks 应用程序层需要处理这些 XML 请求。记录数越大,XML 请求越长,因此 QuickBooks 可能需要更多时间和内存来处理更长的请求。

我建议您通过QODBC

设置屏幕>消息窗口>选择"显示驱动程序状态"和"显示优化器状态"选项来启用QODBC状态面板。

然后,下次运行查询时,如果您看到"等待QuickBooks",则表示QuickBooks正在花费一些时间来处理请求。 屏幕右下角将有一个状态面板,将显示一个窗口,其中包含有关QODBC正在处理的信息。 请注意QODBC花费最多时间或陷入困境的步骤,并与我们分享。

我还建议您尝试在VB Demo上执行以下命令,看看它可以解决问题:

SP_OPTIMIZEFULLSYNC全部

此命令会将一些数据带到本地缓存,以提高查询的检索性能。我想建议您完全运行上面的命令。上面的命令可能需要一些时间,具体取决于您在QuickBooks中的记录。这可能需要 2-5 小时或更长时间,具体取决于 QuickBooks 公司文件中的记录数量。请让此命令完全运行,不要杀死此命令。不建议在构建优化器文件时终止/关闭应用程序。

指:如何对所选表执行SP_OPTIMIZEUPDATESYNC或SP_OPTIMIZEFULLSYNC

如果您仍然遇到问题,我恳请您从下面提到的链接向QODBC技术支持部门提出支持票证并提供所需的信息:

http://support.qodbc.com

还要分享有关您面临的问题的更多信息,以便我们快速找到问题。

我们可能需要以下信息,请在回复工单时附上下面列出的文件。

1( QODBC设置屏幕

的屏幕截图 ->关于(开始>>所有程序>>QODBC驱动程序用于QuickBooks>>QODBC设置屏幕>>关于选项卡(2(您面临的问题的屏幕截图。3(共享QuickBooks版本详细信息:在QuickBooks UI上按f2并共享屏幕截图。4( 共享您正在使用的 SQL 语句。将整个日志文件作为附件以文本格式共享5( QODBC 设置屏幕 -->消息 -->查看 QODBC 消息6( QODBC 设置屏幕 -->消息 -->查看 SDK 消息

最新更新