Buy Support
Incidents |
If you can't find your answer
in the FREE PUBLIC QDeveloper Forum, require URGENT Priority Support, or you need to send us
private or confidential information: |
Click Here
|
If you can't
login and post questions or you are having trouble viewing forum posts:
Click Here
|
Callback
Support |
If you live in USA, UK, Canada, Australia or New
Zealand, you can leave us details on your question and request us to call you back and discuss
them with you personally (charges apply). |
Click Here
|
Buy Support
Incidents |
If you can't find your answer
in the FREE PUBLIC QDeveloper Forum, require URGENT Priority Support, or you need to send us
private or confidential information: |
Click Here
|
|
Sales Order and Invoice Tables not Importing |
Author |
Message |
|
Posted : 2008-02-14 08:46:38 |
We are trying to pull data from quickbooks from another server into our datawarehouse. We're running into performance issues where the load will take hours upon hours. We found a way to cut down the performance issue however there are tables not being imported (Sales Order and Invoices). Is there a way to solve this problem?
Our problem is on read statement. If we don’t add “NOSYNC” we have very bad performance issue. The read statement is running for couple hours without getting any data back.
After we add “NOSYNC” the performance issue seems gone but we get inconsistent data from Quickbooks.
Specific tables do not get any data for days. Also the process does not have any exceptions thrown.
We have code to read some tables from QuickBook. The connection is Open though
ADODB.Connection cn = new ADODB.Connection(); try { String connStr = “Driver={QODBC Driver for QuickBooks}; DFQ=\\Vaquick01\qbcf\Production\Network Solutions - Manual Billing Production.QBW;OpenMode=M;OLE DB Services=-2”; cn.Open(connStr, null, null, 0); } And the read statement is rs.Open("Select * from " + sourceTableNames[i] + " NOSYNC", sourceConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic, 0);
We are running a windows 2003 server, updated the driver to the qodbc server edition 8.0 and updated quickbooks enterprise to 8.0 as well. |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2008-02-14 09:09:12 |
Ok, you just need to force a manual update resync of the table before you do a complete read of the table. I don't know what table(s) you are using in the example above, but to UPDATE resync the invoice table, do:
sp_optimizeupdatesync Invoice
Also, try not to do complete table reads, always try to use a WHERE clause, for example:
select * from InvoiceLine NOSYNC WHERE Txndate > {d '2008-01-31'}
See: How do I setup the QODBC Optimizer? Where are the Optimizer options? |
|
|
|
|