1

Hoping in can find someone who is familiar with this scenario. I've not touched Paradox in over 12 years, and most posts I find on the subject are 5+ years old.

I have created a C# application to read a Paradox .db file using OLEDB and the Borland Database Engine (BDE) to retrieve a transaction code. I have no control over the Paradox system, my only access to it is through a UNC path to the .db files. The original developers of the system are no long in business, so there is no support. Hence the reason I'm having to "hack" a solution to my customers problem.

For development I copied the relevant .db files locally and had no problem accessing them. However when I try to access the live files, the error I get is that they are under the control of a different .LCK file. Deleting the .LCK file solves the access issue, but obviously that is not the solution.

The existing system has the "server" a Win7 machine, and 3 clients running what I assume is the Borland / Paradox application.

Is there a way to configure BDE (or some other workaround) to allow access to the live files using the existing .LCK files? I've tried with different values in the BDE "NET DIR" setting.

My only other option that I can see is to load the entire .db file into memory, (I have code that does that without BDE) then find my transaction value, which is not ideal as that takes around 15 seconds, and as this is a Point of Sale application, it needs to be much faster. Select statements via OLEDB work perfectly in this regard.

Kerberos42
  • 233
  • 4
  • 15
  • In the Net Dir setting in BDE Admin, you need to specify the path to the network share where the other applications access the pdoxusrs.net file. If you can look on one of the other client machines, you should on that machine open BDE Admin and then apply the same settings on the machine, where your app runs. – NineBerry Apr 03 '16 at 03:37
  • I tried pointing NET DIR at the network path, and the other machines don't have BDE admin installed. I assume they use some sort of client / server method to access the files, as there was no share to the .db files on the server. I had to create one for my app. – Kerberos42 Apr 04 '16 at 16:01
  • Aha! Somewhere on the server there is a directory that contains a file named pdoxusrs.net. You need to have write access to that directory from your computer and set the BDE NET DIR setting to that folder. Or you need to have your own server application run on the server computer that you talk to via a network protocol. – NineBerry Apr 04 '16 at 16:06
  • I finally had a chance to tackle this. I was unable to get it to work by pointing the client BDE install at a mapped drive or UNC folder on the server, as it was wanted to reference a local path on the C: drive. I created the same path on the client C drive, and copied the PDOXUSRS.net file to it, and I'm able to query the live data I need now from the client. Could this cause any issues with the live system? The queries are simple, ie: Select TransactionAmount From Transactions Where TransactionID = ID – Kerberos42 Apr 27 '16 at 22:16

0 Answers0