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 : No data from Transaction table and extremely slow.Search Forum

Forum Home > QODBC - ODBC Driver for QuickBooks > QODBC v7 Forum

 New Topic 
 
 Post Reply 
[1]  
 No data from Transaction table and extremely slow. 
 Author   Message 
  typo 
  
 Group: Members 
 Posts: 2 
 Joined: 2007-04-06 
 Profile
 Posted : 2007-04-06 06:15:15
Hi,

I've crawled through these forums and tried everything I could find but still no luck. I have also tried what I will describe below from the demo program and SQL using linked server both with OpenQuery and 4 part naming.

Firstly, using the latest QODBC and QB 2005. My QB file is only 80Megs (1.5 years of data).

I cannot for the life of me get data out the transaction table. I've tried all data, top x, limit by dates you name it. Almost all attempts take 2-3 hours to run, I get back column names and no data but also no error messages. I tried data imports via SQL and it just crashes SQL when hitting that table.

Any ideas?
Thanks
Craig 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2007-04-06 10:51:02

The Transaction table will contain a large amount of transaction lines as there will be a line for every transaction made and modified, so a:

SELECT * FROM Transaction

query will take forever. While limiting the transactions to say only transactions modified this month (Apr 2007) is better:

SELECT * FROM Transaction where TimeModified >= {ts '2007-04-01 00:00:00.000'} and TimeModified < {ts '2007-05-01 00:00:00.000'}

You should optimize the Transaction table by running:

sp_optimizeupdatesync Transaction

in VB Demo first and then use the NOSYNC tag to queries the optimized table directly:

SELECT * FROM Transaction NOSYNC where TimeModified >= {ts '2007-01-01 00:00:00.000'} and TimeModified < {ts '2008-01-01 00:00:00.000'}

See: Using DTS to Load QuickBooks Data into Microsoft SQL Server for more.

 

  Top 
  typo 
  
 Group: Members 
 Posts: 2 
 Joined: 2007-04-06 
 Profile
 Posted : 2007-04-06 13:52:46
Tom,

Thanks for the reply - I did try that, I even tried just the last couple days - same result, no data.

thanks,
Craig 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2007-04-06 16:12:59
Please use VB Demo to ensure you have valid data in the Transaction table first, not MS SQL Server. The Transaction table is only available in USA versions of QuickBooks 2006 and 2007. 

  Top 
  Andrew 
  
 Group: Members 
 Posts: 1 
 Joined: 2008-09-01 
 Profile
 Posted : 2008-09-01 01:16:33
QB version 8 notes:
qodbc provides direct access to the non-system tables, excluding Transaction, with a speed of about  10-20 records per second for any non-join query I run regardless of the approach (ACCESS link/load table or VBA ADO code, the VB demo, the CPP demo) and regardless of the cursor types and chunk sizes I use in my code. The Transaction table fails, or at least takes impossibly long time, to reach record one after nearly instantaneous connection, if you try to look at anything other than the structure (i.e. touch any record with your request). Using simple joins I can extract the contents of the Transaction table one related table at a time and the speed of record recovery goes down by a factor of ~10 or 20 as compared to the unjoined non-Transaction table.

This is not something that makes any sense based upon only the size of the transaction table.  There seem to be buffering issues at least. It makes this tool (qodbc) of questionable value in a production situation, though it frees users from the restrictions of the QBW format and provides for advanced reporting and record maintenance.

Some fact and Opinion 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2008-09-01 08:04:41

Ok what you are missing here is that the TRANSACTION table isn't really a table but a glorified report table view. The transaction table should be used as a flat table only. There is no QODBC jump-in between any table the TRANSACTION table. As far linking tables are concerned, you should always use jump-in columns or a optimized index. Run:-

sp_column tablename

to see what columns jump-in to other table columns natively under QuickBooks. We also have:

sp_statistics tableaname

which is a stored procedure that returns all index information (including QuickBooks and optimizer only FQSPECIAL indexes).

Using sp_statistics BillPaymentCheckLine for example, we can see that there is now a special QODBC optimized index to use for the AppliedToTxnTxnID lookups for bill payments which doesn't exist as a native lookup in QuickBooks:-

 

  Top 
 New Topic 
 
 Post Reply 
[1]  

Jump to