May 19, 2006 at 9:19 am
We have app in written in an old (1998?) version of Powerbuilder connecting to a SQL Server 7 db running in 6.5 mode. The app has been highly customized for us by the vendor.
If you log into the app and then look in Enterprise Manager under Process Info, the Open Transactions column shows 1. Right clicking on the login and selecting properties shows "SET ansi_nulls off".
This is before looking up any customer data or doing anything else in the app.
If I then go to add a new product to this customer's account, and then view properties in the Process Window of EM, I see "Begin Tran". This is before I have saved any of the saved the product data to the customer's account
I was told that this was normal in a client-server app to keep a transaction open until the data is actually saved (which in this case could be a long time depending on what the user does). I have read otherwise on a few sites.
Any comments?
May 19, 2006 at 12:55 pm
Maintaining open transaction WAS normal. It is not the preferred mechanism these days. Unfortunately, older apps may have no other means to prevent changes to data or detect those changes without wrapping the entire activity in a transaction.
You might try updating MDAC on the app server (the development app server!) to see if that alleviates/shortens the open tran issues.
Open trans can be rather problematic especially on SQL6.5 due to the minimum lock granularity (page-level) and potential lock escalation to table-level. If there are relatively few users, this may not present a problem but as the number of users increases the concurrency issues are also likely to increase.
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply