QODBC DCOM Errors - Helpful hints

The following QODBC error:

[QODBC] QB Open Connection Failed. Create DCOM Instance Error = 8000401a, Unknown error.. Created qbXMLRP2 OK.

 can be vexing, intermittent, and difficult to solve.

Here are some ideas:

1. When QODBC is configured to use DCOM servers, there is also configuration (security settings) needed for the QODBC DCOM object.

Here is FlexQuarter's document on how to set these security settings:

http://support.flexquarters.com/esupport/index.php?/Default/Knowledgebase/Article/View/2372/48/how-to-setup-qodbc-dcom-server

It's a somewhat long winded way of saying:

Security properties of the DCOM object:   qbXMLRP2eQODBCInteractive   must be wide open to the following users:

  • Internet Guest Account (IUSR_)
  • INTERACTIVE
  • SYSTEM
  • Everyone - if desperate, should not be needed
  • Asp.NET  (not needed for Jargon app, seeing they are PHP based)


Now, with these DCOM security settings in place, the DCOM errors may be reduced but not eliminated.

Here's the reason:

When QODBC requests a connection to QB, the DCOM object above is utilized. If it's already running, then it's directed to service the request. If it's not running, Windows lauches it. After about 5 minutes, with no activity, the process dies. Any subsequent request would then relaunch a new instance of the DCOM object.

But, that's where the problem seems to lie, that Windows will not always launch a new instance of the QODBC DCOM object. When this happens, the error above occurs. My experience is that Windows 7 has issues in this area.

Simple solution:

Don't let the QODBC DCOM process ever idle and then timeout. To do this, a persistent connecttion to QODBC is required. Jargon based PHP connections are NOT persistent, per the Internet model we follow.

However, the FlexQuarters VB Demo makes a persistent connection, and, in so doing, never lets the QODBC DCOM object drop, and the problem is solved.

How to do this:

Simple launch VB Demo app, make a connection (which will be persistent)  to the "Quickbooks Data" ODBC DSN. then, for added "good measure", run a simple query, such as SELECT * FROM TERMS.


Article Details

Article ID:
178
Date added:
2013-03-05 04:53:48
Views:
1,041
Rating (Votes):
(594)