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?

Improve company productivity with a Business Account.Sign Up

x
 
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
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
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
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.

All Courses

From novice to tech pro — start learning today.