• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 272
  • Last Modified:

How can I prevent two applications from accessing/updating the same information in a database?

I am working on a VB.Net application that uses the same database as another application (Access 2000).  The problem I am having with my program is occasionally both programs try to access/update the same table(s) at the same time.  Can anyone suggest a way I can prevent that situation from happening in my program?
0
steverguy
Asked:
steverguy
  • 2
  • 2
  • 2
  • +1
1 Solution
 
newyuppieCommented:
the subject of concurrency is very very wide to post in its entirety here. ill provide 2 useful links and maybe you can draw conclusions. or maybe you can try to narrow your question down to a specific technical problem when applying these suggestions.

http://msdn2.microsoft.com/en-US/library/cs6hb8k4.aspx
http://msdn.microsoft.com/msdnmag/issues/04/09/DataPoints/
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=232672&SiteID=1

or search the MSDN for data concurrency
0
 
theGhost_k8Database ConsultantCommented:
well newyupie have posted LINKs ...
i thought let me put an idea... ;)
ok here we go...
why not use to IPC(oops !!! how come that comes into picture)

App A                               App B
------------------------------------------
Uz DB            ------>          flag set
finished uz DB ------->        flag unset

now based on flags .. it will access the db.. if SET then wait till it becomes UNSET
wanna learn IPC:- here is the link V.Ezy....  http://www.codeproject.com/Purgatory/KzIPC.asp
i found its the best way to interact betn applications ..
well if you could find any Prog. option other than this WORKING pls post...
 we were using something like  "adopendynamic/ adlockoptimistic".. try that thing.... i dont remember though :))
0
 
Kinger247Commented:
Yes I agree with newyuppie, concurrency/locking is the only way to do this .. or amend the way your program operates.
Setting flags is doomed to fail :(
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
steverguyAuthor Commented:
I have something I want to clarify as far as the locking is concerned.  I have control over only one of the programs that uses the database.  The other program was written and compiled by another company.  Will using lock optimistic or lock pesimistic still be effective if one of those locking methods is being used by only one program?
0
 
Kinger247Commented:
As far as I know, your application instructs the database to lock in a specific way. So its the database locking the tables not your app.
Thats how I understand it.
0
 
steverguyAuthor Commented:
Is there some way to detect whether or not the other application has locked a table or record?
0
 
newyuppieCommented:
in most cases if you apply a concurrency locking strategy on your application, and especially if you are using 2005, it will depending on the strategy, deal with the locking automatically.
moreover, some database servers (MySQL for instance) provides row and table locking strategies as well. you can instruct MySQL to lock a table when you are reading, and/or updating it. when some other app tries to access the db, they will have to wait until you are finished with the table. same with your app, if another app has the lock on the table, you will need to wait. most of the times there is no need to have specific methods for waiting around in your application. generally you will such a strategy that your program will issue the command to the database and the database itself will handle when to run the command, like Kinger comments (once the lock is off).

its not so hard to understand if you read the proper documentation, as it is to explain months of testing and programming in 1 single answer to a very general question.

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now