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 : QuickBooks Online Edition connection and login key only last a few hours?Search Forum

Forum Home > QODBC - ODBC Driver for QuickBooks > QODBC Installation Support Forum

 New Topic 
 
 Post Reply 
[1]  
 QuickBooks Online Edition connection and login key only last a few hours? 
 Author   Message 
  Noah Krueger 
  
 Group: Members 
 Posts: 10 
 Joined: 2006-04-14 
 Profile
 Posted : 2006-04-14 12:12:22
I am creating a service that needs to connect to QBOnline using QODBC and every few hours the Remote Connector  Login dialog pops up and wants me to "renew" the session key.  I created a QODBC connection that requires no security but this annoying dialog keeps popping up.  Is there any way to keep this from happening?  If not, is there any way to deal with the renewal of the session key programmitically (using .NET - C#)?

Thanks for your help,
-Noah 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-04-14 15:04:45
Like everything on the web, Intuit have a non-acivity timeouts in the QuickBooks Online Edition connection. 

  Top 
  Noah Krueger 
  
 Group: Members 
 Posts: 10 
 Joined: 2006-04-14 
 Profile
 Posted : 2006-04-14 16:17:50
I am using a Windows service to do the QBOnline invoice inserts.  This might be a naive response, but it sounds like if I was able to keep hitting QBOnline, say every 5 min, the connection would never close.  Sound resonable or just wishful thinking?

-Noah 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-04-14 16:41:15

Yes, that might work, but in the world of the Internet, there's a lot of other reasons that the connection may be broken also. I would look at a connection on demand type system.

Using the optimizer you can actually move the very few tables there are in the QuickBooks Online Edition into your local hard disk companyfile.opt file. This is done be doing for example:

sp_optimizefullsync customer
sp_optimizefullsync invoice
sp_optimizefullsync InvoiceLine

etc..... for all of the tables you are interested in using.

then you can by-pass extracting data out of the QuickBooks Online Edition by doing:

select * from customer nosync

leaving any transaction inserts or updates to be done in batches when connected to a secured connection with QuickBooks Online Edition.

And before you ask, yes with QODBC v6.00.00.155 there is a new VERIFY option that will check that your optimized table is the same as your QuickBooks Online Edition table. Just run:

select * from customer verify

to verify and update your optimized table.

 

  Top 
  KingJimbo 
  
 Group: Members 
 Posts: 2 
 Joined: 2006-08-19 
 Profile
 Posted : 2006-08-19 01:37:56

Can you elaborate on the "connection on demand" system?

I'm trying to develop a web-based tool (with ColdFusion) that pulls data from Quickbooks Online and combines it with other data.  I need a persistent connection (or one that I can programmatically create) to do that.

Many of my web users won't know a QB username/password, so I can't really pester them for a login. 

 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2006-08-19 10:55:21

You can't use ColdFusion and QuickBooks Online. The reason is that ColdFusion will use muliple threads which will need QODBC to start another QuickBooks Online session. This will happen all the time, so you need to either export the data to a local copy of QuickBooks on the server or transfer the data to and from MS SQL Server to QuickBooks Online using QODBC. This way ColdFusion can work 24/7 with the SQL Tables and you just update QuickBooks or the MS SQL tables as you need, when you need too.

 

  Top 
  KingJimbo 
  
 Group: Members 
 Posts: 2 
 Joined: 2006-08-19 
 Profile
 Posted : 2007-01-09 23:46:14

What is the answer to Noah's original question?  Is there a way to get data out of QBOE without requiring human intervention?

You have mentioned that the data can by synced by exporting the data to a local QB copy, or by transfering it into a MS SQL database, but can either of these processes be initiated automatically without someone having to enter a login key?

If someone has to type in something, at a keyboard, then neither of your solutions is really feasible for integrating QBOE with other applications (web server or otherwise).

Will running a query with the verify option that was listed below require someone to manually create one of the login sessions below.

Like I said the big question that I have seen in a lot of different threads in these forums is:  Can QODBC be used to automatically get data out of QBOE without requiring someone to manually create the connection key?  If so, can you lay out the basic steps for doing so?

 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2007-01-10 10:00:29

Sorry, you always require a connection key and is required by Intuit. If you choose anything other than "No, Anyone can run QODBC Driver on this computer can use the connection" you will have to enter your login in every time a QODBC session or a QODBC connection is made. For a user to have access to your data they must have a connection ticket which can only be created by a company file administrator and must be running a copy of QODBC which passes it own private password along to connect.

If you choose No you will get this warning also. See the note above on who could access the data and if you want to login every time you connect to QODBC.

You then can use a connection string in your application to connect to QBOE. The simplest form includes a reference to a DSN. A system DSN called "QuickBooks Data" is automatically created when QODBC is installed. "QuickBooks Data" will be used in all examples but can be substituted with any different DSN name you create.
 
Normally ADO pools connections. QODBC does not support connection pooling. It is recommended to tell ADO to not do connection pooling on any QODBC connection. This is done with OLE DB Services=-2.
 
Other options available on the connection string:
bullet DFQ = Path to company file or . (dot) to indicate currently open company file.
bullet OpenMode  = F (Follow Company), M (Multi-user), S (Single-user).
bullet DeveloperCode = This is for users of the QODBC v5 OEM version only. It is required to connect to the OEM licensing model. The Code is given to you when you purchase a QODBC v5 OEM licensing pack.
bullet ColumnNameLen = This is a number that specifies the maximum length a column name can be. Using this is required in some development environments. Its use will make the returned column names not match the normal defined schema.

Example of simple DSN:
sConnectString = "DSN=Quickbooks Data;OLE DB Services=-2;"
 
Example of a DSNless connection string:
sConnectString = "Driver={QODBC Driver for QuickBooks};DFQ=C:\Program Files\QODBC Driver for QuickBooks\sample04.qbw;OpenMode=M;OLE DB Services=-2;"
 
Example using current ADO syntax:
sConnectString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=QuickBooks Data;OLE DB Services=-2;"

Standard syntax:
"DRIVER={QODBC Driver for QuickBooks};SERVER=QODBC;DFQ=.;OLE DB Services=-2;OptimizerOn=No;"

DFQ (./[path to .qbw file]) where . means current company file open in QuickBooks.
OLE DB Services=-2;
OptimizerOn (Yes/No)
OpenMode (F/S/M) Follow company setting/Single-User/Multi-user
UseCaseSensitiveRefNumber (Yes/No)


For QuickBooks Online Edition (QBOE) these additional parameters are used:
IBizOEConnection (Yes/No)
IBizOETicketGUID (GUID from web login)
IBizOEPromptForLogin (Yes/No)

The Connection Key (GUID) is a unique key that can only be created by your Online Edition Administrator. If you have administrator rights to your Online Company file then you can run the following URL: https://login.quickbooks.com/j/qbn/sdkapp/confirm?serviceid=2004&appid=71271511 to obtain a connection key. Follow the wizard. The “…” after Connection Key: will launch a browser with the above URL. The connection string attribute for this item is IBizOETicketGUID. The default is an empty string.

This is a complete example using the QODBC Remote Connector in the connection string: 

DRIVER={QODBC Driver for QuickBooks};OptimizerDBFolder=C:\Program Files\QODBC Driver for QuickBooks\Optimizer;IBizRemotePWD=123456;IBizRemoteConnect=Yes;IBizRemoteURL=http://192.168.1.10:2080; IBizRemoteConnTimeOut=120;IBizRemotePromptForPWD=No;IBizRemoteForce2002_2003=Yes; OpenMode=M;DFQ=C:\QBOOKS\DW.QBW;OLE DB Service=-2

 

 

  Top 
 New Topic 
 
 Post Reply 
[1]  

Jump to