[x]
Posted via EE Mobile

Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again.

Question
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

7.4

Really long transactions in ADO or COM+

Asked by jkears in Visual Basic Programming, Microsoft Programming, Delphi Database

For the most part I understand the principles of both COM+ and ADO transactions. What I require is to execute a series of stored procedures that may be rolled back at any time (ORACLE and SQL Server 2K).  My investigations on COM+ tell me not to run transactions longer than a minute but in this case I require transactions to be running for extended periods, as long as a day or perhaps even longer.

The task requires me to further develop a recent WIP solution written in Visual Basic that synchronizes data in GIS system to non-GIS, business tables within an extended transaction. Currently the existing software solution is designed to extend a third party, spatial GIS (Geographic Information System) object framework. This GIS software allows the user with an editing environment so as to edit polygons among other spatial object types.  The GIS object model framework exports a series of interfaces that expose on_create, on_change, on_delete events for each class of each spatial object and further exports edit session interfaces providing the state of the user’s edit session once again through events.

The spatial object data is persisted in ORACLE or SQL server data tables in a proprietary format such that it is recommended by the GIS vendor not to modify data table structure, as the GIS system must independently manage this on its own and may change table names and structure frequently. This limitation thus will not allow one to apply user-based triggers directly on object tables themselves. The WIP application currently simulates triggers as described below.

To facilitate the event mapping of spatial object data to non-GIS business tables a second client application provides a mechanism to map the attribute field value from the spatial object's data table to the input and/or output parameters of a selected stored procedure within the external non-GIS business database table(s).  The client tool allows many spatial to stored procedure mappings to be edited against each object class, and persists the mapping details into the GIS object class structure as XML.

When a GIS editor begins to edit an object class type, the XML mapping details are acquired so that as the object fires through their respective class creation/change/delete events the SP mapping details are which provides all the necessary details on how to execute the appropriate SP for that class and event. A simple ADO exercise at this point in the event procedure executes the appropriate stored procedure, passing the values from the fields/attributes of the polygon in to the appropriate parameters of the chosen stored procedure.
This all works, however not within transactions.

By now you may see where this is going. If the user decides not to save the changes, I would like to rollback all of the changes made within the previously executed stored procedures. I know when a user begins and exits the edit session as well if they drop their edit changes.
My initial thoughts were to create a COM+ server that was launched at the start of their edit session, and was act as the portal for all stored procedure calls. This server would support transactions thus in the event the user decides not to save their edit session changes, the com server would be signaled to rollback all data transactions that occurred through it, or all edit session related transactions. As I initially pointed out, it would appear COM+ is perhaps not a likely candidate to provide such long transactional control, this perhaps is my question.
I am looking for a nice solution to this problem.        
         
[+][-]12/18/01 08:05 PM, ID: 6684855Accepted Solution

View this solution now by starting your 30-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

About this solution

Zones: Visual Basic Programming, Microsoft Programming, Delphi Database
Sign Up Now!
Solution Provided By: tdubroff
Participating Experts: 4
Solution Grade: A
 
[+][-]12/18/01 02:41 PM, ID: 6684369Expert Comment

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 30-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]12/21/01 03:25 AM, ID: 6689326Author Comment

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 30-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]12/21/01 06:07 AM, ID: 6689478Expert Comment

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 30-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]09/01/02 05:12 PM, ID: 7255339Expert Comment

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 30-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]10/13/02 10:45 AM, ID: 7331200Expert Comment

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 30-day free trial to view this Expert Comment or ask the Experts your question.

 
 
Loading Advertisement...
20091111-EE-VQP-92