Access to MDB file using Perl on Linux

Hi,

I have a redhat linux server with DBI installed. I need to be able to access and manipulate MDB files directly on the server. I think I just need a Microsoft Access Drvier for DBI, any thoughts on that?! I am desperate.

Thanks!
vipsemAsked:
Who is Participating?
 
jpfxConnect With a Mentor Commented:
I am not aware of any DBI driver that connects directly to an mdb for linux. The only references I've read about regarding manipulating mdb on a linux machine refer to problems with the lockfile being created with the correct permissions if the mdb is hosted by a linux machine.
I have to ask why you would want to maintain an mdb on a linux machine if there aren't any windows machines that connect to it? why not change your db to a linux friendly format?
0
 
jpfxCommented:
no good news I'm afraid. Because you are on linux you can't get to the data in an mdb that easily. Normally you'd make a connection by creating a system DSN on the PC that hosts the mdb but this can only be seen by other windows PCs.

You'll need a proxy of some sort. Have a look at the dbi proxy stuff for a start:

http://search.cpan.org/~timb/DBI-1.35/lib/DBD/Proxy.pm
http://search.cpan.org/~timb/DBI/lib/DBI/ProxyServer.pm

I haven't tried them yet myself but I am currently working on this for my own work. Other stuff which might be worth googling for are dbtcp, mdbtools and ODBCsocketserver.
0
 
vipsemAuthor Commented:
Thanks! But I can't see how a proxy on the same machine would help me out!
0
Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

 
jpfxCommented:
It provides a proxy connection that linux CAN access.
0
 
vipsemAuthor Commented:
But to a different machine that can access MDB's right?!
I mean if a proxy could access the MDB file on linux, then my problem is solved! but these ones do not look like they are able to do that.
0
 
jpfxCommented:
I've re-read your question and I need to clear up that you cannot have the mdb on the linux machine and manipulate it. It must reside on a windows machine and must be accessed from there.

If the database tables aren't complicated then I'd consider using something like sqlyog to import the data into a mysql database that can reside on your linux server.

Did you look at the other 2 options?
Also I have another one for you:

http://www.databasejournal.com/features/php/article.php/2222651

which was part of a thread here:

http://www.experts-exchange.com/Web/Web_Languages/PHP/PHP_Databases/Q_20973403.html
0
 
vipsemAuthor Commented:
Well,

The fact that I can not have an MDB file on linux and manipulate it on Linux, does not seem to be the case, since I have found many sources with portions of information on that. It is just that I can not find a fully explained answer. Are there any DBI drivers for MDB access?! just like the "microsoft access driver" DBI driver on Activestate Perl?

Thanks.
0
 
jpfxCommented:
dbi uses odbc to connect to an access mdb normally. You could try a 'dsn-less' connection and see where that gets you:

http://dev.isystek.com/dbi/fom-serve/cache/7.html

Apart from that, I can't really help you, sorry.
0
 
vipsemAuthor Commented:
Thanks! but that is only applicable in two cases:

1. On Linux with the MS Access Driver for DBI. which is what I am looking for.

2. On Windows with ActiveState Perl. Which is not the case with me.
0
 
vipsemAuthor Commented:
Well,

The reason is that the whole office use windows to work on the Database. However, we need to have the clients be able to access the updated database every week. I will be uploading the mdb every week to the linux server where our websites are being hosted.
0
All Courses

From novice to tech pro — start learning today.