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
|
|
Visual Studio 2008 (with Vista) fast in forms app but slow in web app (website) |
Author |
Message |
|
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 |
|
|
|
Tom |
|
Group | : Administrator |
Posts | : 5510 |
Joined | : 2006-02-17 |
|
Profile |
|
Posted : 2008-09-12 00:53:00 |
|
|
|
|
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. |
|
|
|
Tom |
|
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. |
|
|
|
|
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. |
|
|
|
|
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. |
|
|
|
|