I've developped a data transfer application based on QODBC desktop edition driver. The purpose of this application is to transfer data from QuickBooks to another accounting system based on a SQL server database. Find below a summary of the application architecture.
The presentation/application layer is built with ASP DOT NET. The data layer is built with SQL stored procedures and tables stored in a dedicated database. ASP calls SQL stored procedures which are designed to retrieve referential and transaction data from QuickBooks through the QODBC driver. The referential/transaction data are stored in work tables and then it is transferred to another accounting system database following mapping rules. The application dedicated database is installed on a Windows XP PRO worksation with SQL 2000 MSDE. The IIS server is installed on the same XP PRO workstation. QuickBooks and QODBC driver are also installed on the XP PRO workstation. The other accounting system database is installed on remote Windows 2003 server with SQL 2000 server standard edition.
Here is an example of SQL statement used to retrieve data from QuickBooks in one of the SQL stored procedure (in the application dedicated database):
set @sql='select FullName,'''' as AcntCode,'''' Descr from openrowset(''MSDASQL'','''+@data_source+''';'''';'''', ''select * from Class'')'
exec(@sql)
@data_source contains the QODBC DSN name. The QuickBooks data file and the DSN are configured to allow accessing the data file when QuickBooks is closed. The QODBC DSN DCOM option has been activated. When the SQL stored procedure is executed manually from Query Analyzer it is working fine. When it is called from ASP, sometimes it is working and sometimes not at all...
Do I have to purchase another version of the driver? Is it mandatory to have the QODBC server edition to use DCOM option?
I know that the QuickBooks SDK does not allow to open multiple data files at the same time. As my transfer application deals with multiple files, is there a mean to explicitely close a QODBC connection to a data file via SQL?
Thanks in advance for your answer.
Best regards.
J-C Roggo
|