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 : Optimizer on, but does not workSearch Forum

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

 New Topic 
 
 Post Reply 
[1]  
 Optimizer on, but does not work 
 Author   Message 
  Ben 
  
 Group: Members 
 Posts: 4 
 Joined: 2006-04-28 
 Profile
 Posted : 2006-04-28 13:42:04
Hi,

I've had several issues with the QODBC optimizer, but I'll try to address one issue at a time.  Here's the most pressing issue.  I hope someone can help.  I was using a QODBC driver with the optimizer on.  This had a dramatic speed difference.  There were several issues with that server, and the server needed to be reformatted.  I set everything back up on that machine, and turned back on the optimzer.  It runs, but it does not behave as it did previously.  It is the same speed now even if the optimizer is on or off.  The little message box in the bottom right hand corner that displays when you're accessing QuickBooks says "Status: Waiting for QuickBooks." most of time.  I've attempted to delete the .opt file and reload all data, but I still have the same performance problems.  Can anyone please help?

Thanks,

Ben 

 
Ben 
 
  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-04-28 21:58:09

Well first things first. Uncheck the Display Driver Status Panel in the QODBC setup.

And make sure that Detail Tracing in unchecked also!!

With the release of QODBC v6.00.00.155 we had to do a little more checking for deleted transactions and payments so tables that reference a open balance now run slower. Most users tend to use queries like:

SELECT * from Customer

which will run slowly as QODBC has to display the correct current open balance for each customer, while this will run much faster:

SELECT "Name","LastName","FirstName","BillAddressAddr1",
"BillAddressAddr2","BillAddressCity",
"BillAddressState","BillAddressPostalcode"
from Customer

However can also override your QODBC Optimizer configuration screen settings to suit what you are actually doing by using the following tags:

VERIFIED | VERIFY - Forces Full Resync with QuickBooks on the optimized table before Query starts
CALLDIRECT | UNOPTIMIZED - Passthru query directly to QuickBooks - use no optimizations
OPTIMIZE | OPTIMIZED | NOSYNC - Passthru query to optimized table directly for maximum speed

Examples:

select * from InvoiceLine UNOPTIMIZED
select * from InvoiceLine NOSYNC
select * from InvoiceLine VERIFIED

To read all the InvoiceLines directly out of QuickBooks use:

select * from InvoiceLine UNOPTIMIZED

Or you can resync your optimized InvoiceLine table by first doing:

sp_optimizefullsync InvoiceLine

then read directly out of the optimized table by doing:

select * from InvoiceLine NOSYNC

This is very f...a.......s.................t.

Another good example of using NOSYNC would be to get for example all invoicelines before 2003:

SELECT * from InvoiceLine NOSYNC WHERE Txndate < {d '2004-01-01'}

as invocies before 2004 don't ever change, you can read them directly from the QODBC Optimizer. You just need to use unoptimized for crtical operations like Sales Commisions etc.

 

  Top 
  Ben 
  
 Group: Members 
 Posts: 4 
 Joined: 2006-04-28 
 Profile
 Posted : 2006-05-01 13:28:56
Tom,

Thank you for the quick and informative response.  I have some other follow up questions I hope you can answer when you have a chance.  We have in fact had a lot of problems with deleted records appearing again and I tried to write reports to counter that with some success.  Turning off the optimizer was the ultimate solution on how we solved the deleted record in the past. 

We have version 6.00.00.121 (only read on this machine).  Should we upgrade to the latest? 

I have tried using your method of resyncing the table before querying it.  It does work well, but the pre resyncing process is awfully long.  How often does one need to do this? 

On a business daily basis, we export the following tables to MySQL using your QODBC connection.  THese tables must be up-to-date on a daily basis (not real time, just by the close of business for the next business day).  The exporting of these tables can take nearly 1.5 hours.  We used the optimizer, but then turned it off due to inaccuries.   The optimizer took less than 10 minutes to export these tables. How often do we need to re-sync to keep things current?  I'm getting the impression that I would have to verify or re-sync the data on a daily basis.  I may just create smaller datasets from these tables.

 Tables used:

TxnDeleted
BillExpenseLine
VendorCreditExpenseLine
CheckExpenseLine
Account
JournalEntryCreditLine
Class
JournalEntryDebitLine

Also, what exactly does the optimizer options do?  What sp_ functions are being used  for the "Keep my optimizer data up to date as of:"  How does this work? 

Thanks in advance,

Ben 

 
Ben 
 
  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-05-02 00:10:03

Basically, between v6.00.00.121 and v6.00.00.155 we resolved deleted record issues. So everyone running QODBC v6 should be running v6.00.00.155. The optimized tables also automatically keep better tab of open balances and deleted records so for all non critical operations it works rather well.

Some QuickBooks users never change invoices that have been printed and given to clients while others change invoices for the previous tax year already filed with the IRS? So saying how to determine optimizer settings gets a little hard, but the principal is if it's critcal, always use the the unoptimized tag, if it's really important that it's right, then use the verified tag, and if you know nothing really has been fiddled with just let the optimizer automatically work.

For your file list I would guess that account & class aren't changed every day, so just let the optimizer work would be fine. But for the transaction files you might want to consider verified or look at only moving only the transactions that have been changed. Verfied does a resync without re-writing everything for scratch, it just writes the differences, so it's a lot faster than sp_optimizefullsyn.

The main problem here is that all these tables are being exported over and over again to MySQL.

 

  Top 
  Ben 
  
 Group: Members 
 Posts: 4 
 Joined: 2006-04-28 
 Profile
 Posted : 2006-05-03 12:20:33
Thanks for the response.

My team has been unable to find the .155 version, but we've been able to download the .147 version.  Where can we get this latest version and install it on all our machines? 

I'm checking with the accounting team to see how often they change their information, I assume they don't change it after Year Beginning. 

I export those entire tables because I'm not sure which ones have been updates (unless there is an update field I can use to append new records).  

 
Ben 
 
  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-05-03 12:27:36
See: How can I get the latest version of QODBC?  

  Top 
  Ben 
  
 Group: Members 
 Posts: 4 
 Joined: 2006-04-28 
 Profile
 Posted : 2006-05-10 12:57:41
Tom,

What are the other, "functions" of QODBC that are similar to the sp_optimizefullsync function?  I assume there is one for verify.  I assume using verify is faster than fullysync.  Is there a list of sp_ fucntions and a description for each? 

Thanks,

Ben
 

 
Ben 
 
  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-05-10 14:00:09

Sorry there is no sp_optimizexxxxx stored procedure for verify, just let the SELECT statement do it!

All the OPTIMIZER options are covered at: How do I setup the QODBC Optimizer? Where are the Optimizer options? 

 

  Top 
 New Topic 
 
 Post Reply 
[1]  

Jump to