簡體   English   中英

QODBC SELECT需要> 15分鍾才能返回結果

[英]QODBC SELECT taking > 15 minutes to return results

我很擅長使用QODBC進行QuickBooks報道。 我准備的第一個SELECT查詢之一基本上在ReceivePayment表中標記客戶現有未使用的付款,查詢具有該同一客戶剩余余額的發票。 輸出是(或應該是)按CustomerRefFullName分組的客戶列表,第2列中未使用的付款總和,以及未結發票剩余的總余額總和。

這是一個相當簡單的查詢。 當我將表作為靜態表導入MS Access時,查詢速度與預期的一樣快。 但是,當我針對鏈接表運行查詢時,生成結果需要15分鍾。

這不應該發生。 這是MS Access配置錯誤嗎? 我還缺少或不知道與QODBC配置有關的其他事情? 任何幫助,將不勝感激。

我想告訴您,當您在Access和運行查詢中導入QuickBooks數據時,顯然它將執行得更快,因為本地MS Access表中可用的所有數據(離線)。 但是當您從鏈接表執行查詢時,QODBC正在從QuickBooks獲取數據。 QODBC是一個使用QuickBooks SDK的ODBC驅動程序。

QODBC的工作原理是通過ODBC接口接受來自應用程序的SQL命令,然后將這些調用轉換為導航XML命令到QuickBooks Accounting 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公司文件中的記錄數。 請讓此命令完全運行不要終止此命令。 不建議在構建Optimizer文件時終止/關閉應用程序。

請參閱: 如何為選定的表執行SP_OPTIMIZEUPDATESYNC或SP_OPTIMIZEFULLSYNC

如果您仍然遇到問題,我請您通過以下鏈接向QODBC技術支持部門提出支持請求並提供所需信息:

http://support.qodbc.com

還要分享有關您所面臨問題的更多信息,以便我們能夠快速找到問題所在。

我們可能需要以下信息,請在回復故障單時附上以下列出的文件。

1)QODBC設置屏幕截圖 - >關於(開始>>所有程序>>用於QuickBooks的QODBC驅動程序>> QODBC設置屏幕>>關於選項卡)2)您遇到的問題的屏幕截圖。 3)分享QuickBooks版本細節:在QuickBooks UI上按f2並分享屏幕截圖。 4)共享您正在使用的SQL語句。 從5)QODBC設置屏幕 - >消息 - >查看QODBC消息6)QODBC設置屏幕 - >消息 - >查看SDK消息,以文本格式分享整個日志文件作為附件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM