Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

URGENT !!!  Using 2 executables to access the same ".mdb" file

Posted on 2000-05-11
8
Medium Priority
?
186 Views
Last Modified: 2013-11-20
Dear Experts,

The situation is like this - I have written a server that keep track of some information (coming from the I/O port). This information is stored under an ".mdb" file - say "ABC.mdb"

Everything is fine until I want another executable to access "ABC.mdb" for informatin retrieval.

There will be an error message prompting "Cannot be updated : ABC.mdb is being locked by another program".
I guess this is because I am already using the server program to access the ".mdb" file and it will update the database whenever new information arrives.

I need your help and advices!!!!!
So how can I overcome this "locking" problem and fullfil the goal of constantly updating the file, while allowing information retrival at the "same time".
Any suggestions and comments are welcome. Your help is much appreciated.

As my customer is small business - so it would not be possible to provide them with a server solution (in business point of view).

Best Regards,
Eric
0
Comment
Question by:e1
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 3

Expert Comment

by:_mb_
ID: 2803318
How do you open the database? I think one of your executables (or both) opens the mdb-file using an exclusive mode.
0
 

Author Comment

by:e1
ID: 2803334
No, I did not use exclusive mode.
0
 
LVL 7

Expert Comment

by:tchalkov
ID: 2803527
You said that your customer cannot afford a server solution but this is not quite true - if you are using Visual Studio to write your application then you have the write to distribute free MSDE (Microsoft data engine) with your application which is in fact the engine of SQL Server. You work with it the same way you work with SQL Server.

So probably you could think of this possibility
0
Learn how to optimize MySQL for your business need

With the increasing importance of apps & networks in both business & personal interconnections, perfor. has become one of the key metrics of successful communication. This ebook is a hands-on business-case-driven guide to understanding MySQL query parameter tuning & database perf

 

Author Comment

by:e1
ID: 2809447
Hi tchalkov,

If I am using Visual C++ 5.0 Professional Edition to develop my application and using the Microsoft Jet Database to perform different database operations previously, can I change my current project to use the Microsoft Data Enginer.

If yes, is there any example availiable?

Thanks!!!
0
 
LVL 7

Expert Comment

by:tchalkov
ID: 2809680
It is free only for Visual Studio 6.0 Professional or Enterprise (for the whole suite , not only VC++)
more information you can get on www.microsoft.com/vstudio
0
 

Author Comment

by:e1
ID: 2816736
Thanks tchalkov.

My company has VC 5.0; so could not try the suggested MSDE. We are trying to figure out some other ways to overcome this problem.

But if there is no further comments coming at around Friday, then I will award the points to you for your help.

So if I could not use MSDE, do you have any better ideas?
0
 

Accepted Solution

by:
wraith0 earned 1500 total points
ID: 2823996
A suggestion:
For both the server and the client apps, put the connect statement inside a loop that checks for success.  

It will keep attempting to connect until the lock on the file is removed, and then it will succeed.  

If your server app is only getting data intermittently, then it should disconnect after it updates the database.  The client should do the same as well.

This will slow down the app a bit, but for a small business not willing to purchase SQL Server....anyway.

Hope it helps.  
0
 

Author Comment

by:e1
ID: 2832036
Finally we have solved the problem by catching the exception of "Update" - and retry to Update until it has successful OR it has failed for more than N times.

I would like to thank both wraith0 and tchalkov for their help. It seems, in this case, wraith0's solution is more appropriate (as I only have VC++ 5.0). So I would like to give the points to wraith0.

Thanks to both of you again.
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Dynamic window placements and drawing on a form, simple usage of windows registry as a storage place for information. Continuing from the first article about sudoku.  There we have designed the application and put a lot of user int…
Introduction: The undo support, implementing a stack. Continuing from the eigth article about sudoku.   We need a mechanism to keep track of the digits entered so as to implement an undo mechanism.  This should be a ‘Last In First Out’ collec…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question