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 : Visual Studio 2008 (with Vista) fast in forms app but slow in web app (website)Search Forum

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

 New Topic 
 
 Post Reply 
[1]  
 Visual Studio 2008 (with Vista) fast in forms app but slow in web app (website) 
 Author   Message 
  Daryl 
  
 Group: Members 
 Posts: 6 
 Joined: 2008-08-12 
 Profile
 Posted : 2008-09-11 18:03:44

Hello

I am developing a web application in Visual Studio 2008 (with Vista) and I have run into some performance issues with the QODBC driver.

I have been doing tests with one particular query: "SELECT ShipDate,  InvoiceLine.TxnID,InvoiceLine.TxnNumber,InvoiceLine.CustomerRefListID,InvoiceLine.CustomerRefFullName,
InvoiceLine.InvoiceLineItemRefListID,InvoiceLine.InvoiceLineQuantity FROM InvoiceLine"

When I run it in a website, the QODBC window that pops up is really slow.  It shows the counter processing about 3 records a second yet when I run the same code in a Windows form application, it does over 150 records in the blink of an eye.

I'm not running in a multi-user environment (still in dev).  I'm not sure what is causing this delay and I cannot convert the application to a windows form application.

Do you have any advice for me?
Thanks
Daryl

 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2008-09-12 00:53:00
Try looking at: Performance - VB Demo verus my C# app  

  Top 
  Daryl 
  
 Group: Members 
 Posts: 6 
 Joined: 2008-08-12 
 Profile
 Posted : 2008-09-12 18:37:59
Wow! Just like that! A simple AspCompat="true" and everything works nicely.

Okay.  Can I summarise what I have done to make everything work so that maybe it will help someone else going through my pain.

Development environment
Visual Studio 2008 running on Vista Business

Data Access Layer
Using the "Enterprise Library Data Access Application Block" to connect to the Quickbooks database via QODBC.
ConnectionString="DSN=Quickbooks Data"

QODBC Settings
Quickbooks Optimizer should be turned off if you are going to be using a multi-threaded environment like a web page.
Use DCOM Servers must be checked to host your website on IIS. (You must also have the server version obviously)

Additional Settings
Each Visual Studio .aspx page that causes a request to QODBC MUST have AspCompat="true" or else things will run slowly.
You need to disable DEP for Vista.

hmmm... I think thats it. 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2008-09-12 19:57:39

If you don't mind me asking, where does the "Enterprise Library Data Access Application Block" come from? And what's DEP?

I ask so that other forum readers can know exactly how to get to your setup.

 

  Top 
  Daryl 
  
 Group: Members 
 Posts: 6 
 Joined: 2008-08-12 
 Profile
 Posted : 2008-09-12 20:10:03

Its from the Microsoft Patterns and Practices.

Quote:
The Enterprise Library Data Access Application Block simplifies development tasks that implement common data access functionality. Applications can use this application block in a variety of situations, such as reading data for display, passing data through application layers, and submitting changed data back to the database system. The application block includes support for both stored procedures and in-line SQL. Common housekeeping tasks, such as managing connections and creating and caching parameters, are encapsulated in the application block's methods. In other words, the Data Access Application Block provides access to the most often used features of ADO.NET in simple-to-use classes; this boosts developer productivity.

Enterprise Library 4.0 – May 2008
Data access application block
The Community Site

Maybe it's a bit overkill for connecting to QODBC but you can use it for almost any database so I just reused the DAL component that I have.

 

  Top 
  Daryl 
  
 Group: Members 
 Posts: 6 
 Joined: 2008-08-12 
 Profile
 Posted : 2008-09-12 20:14:51
DEP is Data Execution Prevension.

It is Microsoft trying to stop viruses.  Basically if an application kicks off another application (or something along those lines), it will think that the application could be a virus and shut it down.  QODBC kicks off Quickbooks and I think this triggers the DEP.  (You also get similar reactions when you run certain video codecs.)

To disable DEP:
bcdedit.exe /set {current} nx AlwaysOff

To enable DEP again:
bcdedit.exe /set {current} nx OptIn

You must restart your computer to commit the changes to DEP. 

  Top 
 New Topic 
 
 Post Reply 
[1]  

Jump to