Member Login

Username
Password
Forget Password
New Sign Up
Search Forum

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

Forum : Loop of "Initial XML Parse" > "Waiting on QB"Search Forum

Forum Home > QODBC - ODBC Driver for QuickBooks > QODBC Bug Reports

 New Topic 
 
 Post Reply 
[1]  
 Loop of "Initial XML Parse" > "Waiting on QB" 
 Author   Message 
  Jesse Bradlee 
  
 Group: Members 
 Posts: 6 
 Joined: 2006-05-23 
 Profile
 Posted : 2006-05-23 01:56:33

Sometime between April 27 and May 3, something broke our QODBC.  Up until then, I've used it for a few monthly billing cycles, where I use Access to query our member database and build an appropriate InvoiceLine query to bill our members.  It worked great and saved our accountant several days of manual processing.

When I open any QuickBooks table (online edition) I get the Driver Status panel.  After about 4 or 5 seconds of "Waiting on Quickbooks" I get a brief frenzy of record loading, and then a loop of "Initial XML Parse - Load XML Start" followed by "Waiting on QuickBooks".  This goes on for several minutes and never finishes.

I went ahead and upgraded to 6.00.00.155.  Both our versions pass the connection test.  I can link tables in the latest driver, but I still can't open any.  Looking in the QODBCTRA.TXT log it looks like the driver is trying to find the first record over and over.

I have the trace log from an attempt to open the Customer table (about 645 KB) if you want me to send it somewhere.  Also, I've tried deleting and relinking the tables in Access but got no joy.

We really need to get this working again for member billing.  Any advice about troubleshooting or config checks is greatly appreciated!

Following is the QODBCLOG.TXT file:


2006-05-22 11:12:52 QODBC Ver:  6.00.00.155 *********************************************************************************************************************
IsAService: False
SQL Statement: SELECT "ListID","TimeCreated","TimeModified","EditSequence","Name","FullName","ParentRefListID","ParentRefFullName","Sublevel","CompanyName","Salutation",
"FirstName","MiddleName","LastName","Suffix","BillAddressAddr1","BillAddressAddr2","BillAddressAddr3","BillAddressAddr4","BillAddressCity","BillAddressState",
"BillAddressPostalCode","BillAddressCountry","ShipAddressAddr1","ShipAddressAddr2","ShipAddressAddr3","ShipAddressAddr4","ShipAddressCity","ShipAddressState",
"ShipAddressPostalCode","ShipAddressCountry","PrintAs","Phone","Mobile","Pager","AltPhone","Fax","Email","TermsRefListID","TermsRefFullName","Balance",
"TotalBalance","OpenBalance","OpenBalanceDate","ResaleNumber","IsStatementWithParent","DeliveryMethod"  FROM "Customer"  WHERE "ListID" = ? OR "ListID" = ?
OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ?
Error Getting XML in BuildAndLoadXMLForNextRecord
Input XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE QBXML PUBLIC '-//INTUIT//DTD QBXML QBO 5.0//EN' 'http://apps.quickbooks.com/dtds/qbxmlops50.dtd'>
    <QBXML>
        <SignonMsgsRq>
            <SignonTicketRq requestID="0">
                <ClientDateTime>2006-05-22T11:12:31</ClientDateTime>
                <SessionTicket>V1-87-XGrRo$4Gd3gSgd4Mkmn9cg:87529259</SessionTicket>
                <Language>English</Language>
                <AppID>71271511</AppID>
                <AppVer>1.0</AppVer>
            </SignonTicketRq>
        </SignonMsgsRq>
        <QBXMLMsgsRq onError="continueOnError">
            <CustomerQueryRq requestID="1">
                <ListID>196</ListID>
            </CustomerQueryRq>
        </QBXMLMsgsRq>
    </QBXML>

 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-05-23 08:23:41

Check that you can login into QuickBooks Online Edition itself and use the user interface. Then check your QODBC connection settings as per: How do I use QODBC with QuickBooks Online? 

Finally use VB Demo to test view a table (not Access). What you describe sounds like the optimizer is trying to re-sync but can't. Look at the QODBCLOG.TXT for the actually error messages.

 

  Top 
  Jesse Bradlee 
  
 Group: Members 
 Posts: 6 
 Joined: 2006-05-23 
 Profile
 Posted : 2006-05-24 04:23:04
... Sorry Tom, my last three detailed messages died.  It kept telling me to login after I already was logged in and then it never displayed my post.  I finally had to use Firefox...

Anyway, I deleted and recreated the data source and tested it with the driver and VB Demo.  Then I relinked the tables in Access and tested some more.  What I found:

Opening any table causes it to loop.  SELECT queries (sorted or unsorted) loop.  But a MAKETABLE query with no sorting will produce a local table.  IOW I can create local copies of QBOE tables as long as I don't try to sort during the SELECT.

As a further test, I ran SORTED MAKETABLE queries on a 31-record table and a 258-record table.  Both looped, but the smaller one eventually finished after about three minutes.  The larger one looped for about 15 minutes and then threw an "Invalid bookmark error".  Access is using a 60-second ODBC timeout.

My immediate issue is resolved because I can use the local copies to post invoices.  But I would like to be able to use the "live" online tables without having to make copies first.

Also, I did look at the trace log and didn't see any obvious errors.  Once sequence of messages I saw repeated dozens of times is pasted below.  Thanks again!

----------------------------------------------------------------

ISAMCaseSensitive
    0x001B9A90 [ISAM]
    FALSE
ISAMRestrict
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    1
    NO_ISAM_ERR 00000 00000
ISAMRewind
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    NO_ISAM_ERR 00000 00000
ISAMNextRecord
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    Elapsed Time: 00:00:00 Time Difference: 00:00:00.078 Building XML Request
    Elapsed Time: 00:00:00 Time Difference: 00:00:00.000 Waiting On QuickBooks
    Elapsed Time: 00:00:02 Time Difference: 00:00:01.953 Initial XML Parse
    Elapsed Time: 00:00:02 Time Difference: 00:00:00.000 Initial XML Parse - LoadXML Start
    Elapsed Time: 00:00:03 Time Difference: 00:00:01.078 Initial XML Parse - LoadXML End
    Elapsed Time: 00:00:03 Time Difference: 00:00:00.000 Find First Record
    NO_ISAM_ERR 00000 00000
    ISAMNextRecordExit
ISAMGetData
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    COLUMN: 0 [ListID]
    OFFSET: 0 RawXML: FALSE
    SQL_C_CHAR
    436
    MAX LENGTH: 37
    LENGTH RETURNED: 3
    NO_ISAM_ERR 00000 00000
ISAMGetBookmark
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    1
    NO_ISAM_ERR 00000 00000
ISAMNextRecord
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    ISAM_EOF S0000 S0000 [QODBC] No data found
    ISAMNextRecordExit
ISAMCaseSensitive
    0x001B9A90 [ISAM]
    FALSE
ISAMRestrict
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    1
    NO_ISAM_ERR 00000 00000
ISAMRewind
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    NO_ISAM_ERR 00000 00000
ISAMNextRecord
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    Elapsed Time: 00:00:03 Time Difference: 00:00:00.000 Building XML Request
    Elapsed Time: 00:00:03 Time Difference: 00:00:00.000 Waiting On QuickBooks
    Elapsed Time: 00:00:05 Time Difference: 00:00:02.266 Initial XML Parse
    Elapsed Time: 00:00:05 Time Difference: 00:00:00.000 Initial XML Parse - LoadXML Start
    Elapsed Time: 00:00:06 Time Difference: 00:00:01.265 Initial XML Parse - LoadXML End
    Elapsed Time: 00:00:06 Time Difference: 00:00:00.000 Find First Record
    NO_ISAM_ERR 00000 00000
    ISAMNextRecordExit
ISAMGetData
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    COLUMN: 0 [ListID]
    OFFSET: 0 RawXML: FALSE
    SQL_C_CHAR
    449
    MAX LENGTH: 37
    LENGTH RETURNED: 3
    NO_ISAM_ERR 00000 00000
ISAMGetBookmark
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    2
    NO_ISAM_ERR 00000 00000
ISAMNextRecord
    0x001B9A90 [ISAM]
    0x0D458C08 [Customer]
    ISAM_EOF S0000 S0000 [QODBC] No data found
    ISAMNextRecordExit 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-05-24 08:35:22

You can bypass the QODBC optimizer by using the UNOPTIMIZED tag in you query:

 SELECT "ListID","TimeCreated","TimeModified","EditSequence","Name","FullName","ParentRefListID","ParentRefFullName",
"Sublevel","CompanyName","Salutation","FirstName","MiddleName","LastName","Suffix","BillAddressAddr1","BillAddressAddr2",
"BillAddressAddr3","BillAddressAddr4","BillAddressCity","BillAddressState","BillAddressPostalCode","BillAddressCountry",
"ShipAddressAddr1","ShipAddressAddr2","ShipAddressAddr3","ShipAddressAddr4","ShipAddressCity","ShipAddressState",
"ShipAddressPostalCode","ShipAddressCountry","PrintAs","Phone","Mobile","Pager","AltPhone","Fax","Email","TermsRefListID",
"TermsRefFullName","Balance","TotalBalance","OpenBalance","OpenBalanceDate","ResaleNumber","IsStatementWithParent",
"DeliveryMethod"  FROM "Customer"  UNOPTIMIZED WHERE "ListID" = ? OR "ListID" = ?
OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ? OR "ListID" = ?

 

  Top 
  Jesse Bradlee 
  
 Group: Members 
 Posts: 6 
 Joined: 2006-05-23 
 Profile
 Posted : 2006-05-24 23:10:23
Hi again Tom!

The Optimizer is turned off in the setup dialog.  I turned it off as soon as I finished instaling the latest version.

As for the query, the log is the result of double-clicking on a QBOE table in the Access Table tab.  Is there a way to modify that process? 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-05-25 08:23:15
You need to create queries, forms etc. and not use Access Datasheets. Access Datasheets will re-query rows all the time. Try using a pass-through query as shown at: How do I create a Pass-Through Report using Microsoft Access 2003? instead. 

  Top 
 New Topic 
 
 Post Reply 
[1]  

Jump to