[QODBC-Desktop] QODBC Setup Options - QODBC For QuickBooks Enterprise Users
Posted by Rajendra Dewani (QODBC Support) on 28 January 2015 08:54 AM
Connecting QODBC Driver to QuickBooks for the First Time (Video)
You can also see: How to setup QODBC for Auto-login into QuickBooks / How to setup QODBC Driver to auto-connect to QuickBooks. (Video) for more details.
See also: VB Demo is missing
QODBC Setup Options
QODBC General Setup
The first step in configuring the driver is to click on the QODBC Setup Screen and the following general setup screen will become available.
Use the company file that’s now open in QuickBooks allows QODBC to use the company file that you have open and allows you to switch between files without having to create separate DSN’s for each company file.
Locate a company file: is the path where your QuickBooks data file resides. For example: “C:\Documents and Settings\All Users\Documents\Intuit\QuickBooks\Sample Company Files\QuickBooks Enterprise Solutions 9.0\ProMyapp.qbw”. The Browse button will let you choose your QuickBooks company file from the folder it is in. To use the QODBC auto-login unattended mode you must specify the full path of the QuickBooks company file you wish to connect to.
Data Source Name: is a display name for your QuickBooks data (QuickBooks Data, QBPRO, My QB Data, etc.)
Mode when opening includes multiple ways of opening a QuickBooks file and this setting allows you to determine how QODBC should open each company file.
Same as company file If you select “Follow Company File”, we will simply use whatever mode is currently set in the company file.
Multi-user mode Selecting “Multiuser Mode” will set the file to Multi-user status, where multiple users can update the file simultaneously.
Single-user mode If you require exclusive write access to the file (for record deletes), select “Single User Mode.”
Test Connection to QuickBooks will determine if you have a proper installation and settings with QuickBooks and a company file open.
QODBC Messages Setup
Messages allow you to review message logs from QODBC regarding errors and issues communicating with QuickBooks, clear these messages, and review messages produced by the QuickBooks qbXML SDK interface.
Detail Tracing (Slow) creates a trace log of exactly what QODBC is doing in the background with the application and is used for debugging purposes. Make sure the log is turned off when not needed as these logs can use up large amounts of disk space.
Display Optimizer Status Panel will display the progress of optimization of the data, this is especially helpful on large data files being reloaded in their entirety.
Display Driver Status Panel when selected shows exactly what QODBC is doing when accessing the QuickBooks data and provides a good assessment of speed using optimized data and non-optimized data.
Verbose Optimizer Status Panel causes the Optimizer panel to come up whenever optimizer of any kind happens. The normal checkbox only pops up the optimizer when doing the full update or reload all.
QODBC Optimizer Setup
Recommended settings for using QODBC are shown here, read below for a summary explanation of all the options available to you. You can see: How to setup QODBC Optimizer and where are the Optimizer options for more details about QODBC Optimizer.
Use Optimizer brings some data to a local cache to increase retrieval performance for queries. Check to activate the Optimizer.
Optimizer Database Folder: specifies where the local data store will be saved on disk. The default location %UserProfile%\QODBC Driver for QuickBooks\Optimizer is under your Windows login account name under your Documents and Settings folder. The data will be stored in a file in this folder with a name similar to the company file name with a .opt extension. If you store that data somewhere other than the default click the browse button and select the destination folder. With very large company files we suggest running synchronization after hours.
Keep my optimized data up to date as of: when you choose the optimizer to synchronize itself with your Company data. Depending on how static your data need is and the size of the file, you can opt for various time frames of synchronization. The farther down the list you go the less synchronization will occur and your queries will run much faster but will be using less current data than the company file itself.
The start of every query is the default setting using the most current data. If your query needs require the latest up to the minute data and speed is not the primary focus use this default setting. Please keep in mind that the QODBC Optimizer is local to your computer only, so when other users change things in QuickBooks how does QODBC know? Well, by default the optimizer will update new and changed entries in a table from QuickBooks first and then execute the query against the locally optimized table. This is faster than reading everything out of QuickBooks every time, especially the more data you have.
The start of every new connection (with "Load Updated Data" first) is used if you don't need to update the optimized data while you are for example running queries or importing or exporting data. The optimized data is updated upon a new connection and left updated until the next new connection occurs again.
The start of every new connection (with "Reload All Data" first) is used if you need to rebuild optimized data from scratch before running important queries (like Sales Commission) or importing or exporting data. The optimized data is rebuilt upon a new connection and left un-updated until the next new connection occurs again.
The end of yesterday is used for a better balance between speed and data updating and would be the option that works best for most users. It only has to synchronize each table once per day and the data will be current as of the end of the previous day.
The end of last month option is a great speed boost for running last month or last year's queries. It does not need to synchronize again to get the data.
The last time I pressed one of the load data buttons option allows you to control the synchronized timing. Synchronizing only occurs when you manually run it by pressing the Load Updated Data in the QODBC setup screen.
For balances and stock quantities: the option Nulls - will return NULLs for all fields that cannot be kept in sync, Dirty Reads - means return the most current value that was loaded into the optimizer cache, and Real Time uses the slower method to get the data directly out of QuickBooks making sure you get the most current value for the requested fields. (Real Time is the previous method used).
Optimize data after an Insert or Update causes QODBC to do Load Updated Data after an insert or update is executed on a table. Useful for programmers who want to test that their data has successfully been written to QuickBooks.
Multi-Table Sync option is unchecked by default for all non-USA enterprise users. If checked, the QODBC optimizer will use other tables to re-sync tables, however, this will slow down performance. When off all Multi-Table Sync fields become Real-Time fields. Note: This feature is basically ignored and set to unchecked if the version is QBOE or SDK is less than v3 (used by QuickBooks 2004 USA and all QuickBooks versions outside the USA). Prior to SDK v3, the other multi-sync tables did not exist so using real data for those fields is safer.
Load Updated Data: This button is used to Synchronize your optimized data with your company file. This will only load the data that has changed since the last automatic or manual synchronization.
Reload All Data: This button is used to completely rebuild the optimized data from scratch. It is useful when you start a new company if you do not want to synchronize the tables as you first encounter them and make sure that your data is 100% current.
Removing/deleting optimizer file.
To delete the optimizer file. Please close/disconnect all the applications connected to QODBC
Start "QODBC Setup Screen" & Switch to Optimizer tab
Click "Reset Optimizer File(s)"
Click "Yes" to delete all the Optimizer files.
Please note: All the Optimizer files under the Optimizer Database folder will be removed. If you wish to delete a single company file's optimizer.
Optimizer file can be found at "%appdata%\QODBC Driver for QuickBooks\Optimizer"
For Example: C:\Users\Raj\AppData\Roaming\QODBC Driver for QuickBooks\Optimizer
QODBC Advanced Setup
The selected defaults in the Advanced settings should apply to most users and normally don't need to be changed.
Reconnect Delay: Is an amount of time to wait for a disconnect when using the remote connector. This allows QuickBooks to fully unload it if it is being loaded in the background on the Host Remote Connector before you connect again.
Maximum Field Name Length: is set to the QuickBooks limitation but certain applications like Delphi cannot handle this limit and must be set accordingly.
Use Case Sensitive RefNumber Searches when checked means a RefNumber of 'ABC' and 'abc' will be different but means QuickBooks can use an index internally for a search instead of a complete table scan. (Note: this feature applies to versions of QuickBooks 2005 and higher)
Include Raw Files if checked will display both filtered and raw data formats. QODBC formats data into SQL field types more easily used in programming languages for math and comparison operations. The Raw tables return the data as it is returned to QODBC without modification.
ODBC Compatibility "Default" is 2.1. ODBC compatibility is for certain applications that require ODBC 2.1 Compatibility to use QODBC. Anything that uses the Java ODBC library, like ColdFusion, requires this option turned on or recordsets will be returned with no row sets or only 1-row set.
if you are using Microsoft Excel Power Query or Microsoft Power BI, change the ODBC Compatibility to 3.8.
SQL Server Support/Simulate Transaction Support for SQL Server will turn transaction support on so that SQL Server will allow updates when using QODBC as a linked server. QODBC still does not support transactions but simulates the turning on and off of transactions.
The Advanced tab in QODBC Setup v6 Build 186 and later has new defaults for Use Iterators and Iterator or Chunk Size fields. This allows you to turn off iterators. This may be needed on systems like MS-SQL Server and Web Servers that use multiple threads. Using Iterators is faster but is only available to USA QuickBooks 2006 and USA QuickBooks 2007 users. Iterator or Chunk Size determines the size of the row sets that are retrieved from QuickBooks. Set this value high if you are exporting records from QuickBooks. The maximum Iterator or Chunk size that can be set is 100000 (higher than that and it resets itself back to the default of 500).
Use Iterators and Iterator or Chunk Size fields allow you to turn off iterator. This is needed on systems like MS-SQL and Web Servers that use multiple threads.
Integrated Application Defaults authorization popup settings. These settings are only available to USA QuickBooks 2005 above users, otherwise, they are grayed out as follows:
Text Field Handling has been added to QODBC v7.00.00.204 and later. Convert Fields > 255 to LONG VARCHAR and Limit length to 4096 characters (default): These fields help some development environments get data from long fields that would not be able to otherwise. Connection string options include ConvertToLongVARCHAR=Yes|No and MaxLONGVARCHAR=4096.
This tab allows you to purchase a CDKey, activate a license with the CDKey or deactivate a currently active license and move that license to a new machine.
Activate is the online option for entering the CDKey that was issued to you upon purchasing the product to fully activate QODBC from the evaluation version to either the full Read Only, Read/Write or Web Edition that has been purchased. If you do not have internet access to activate the product, you can use the phone option to supply your reseller or distributor with the information to activate the product for you.