Link to home
Start Free TrialLog in
Avatar of vipsem
vipsem

asked on

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!
Avatar of jpfx
jpfx

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.
Avatar of vipsem

ASKER

Thanks! But I can't see how a proxy on the same machine would help me out!
It provides a proxy connection that linux CAN access.
Avatar of vipsem

ASKER

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

https://www.experts-exchange.com/questions/20973403/DSN-less-connection-to-MS-Access-DB-via-PHP-security-problem.html
Avatar of vipsem

ASKER

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.
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.
Avatar of vipsem

ASKER

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.
ASKER CERTIFIED SOLUTION
Avatar of jpfx
jpfx

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of vipsem

ASKER

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.