Solved

Access to MDB file using Perl on Linux

Posted on 2004-08-30
12
1,219 Views
Last Modified: 2012-06-27
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!
0
Comment
Question by:vipsem
[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
  • 5
  • 5
12 Comments
 
LVL 5

Expert Comment

by:jpfx
ID: 11935502
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
 

Author Comment

by:vipsem
ID: 11935590
Thanks! But I can't see how a proxy on the same machine would help me out!
0
 
LVL 5

Expert Comment

by:jpfx
ID: 11935607
It provides a proxy connection that linux CAN access.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:vipsem
ID: 11935687
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
 
LVL 5

Expert Comment

by:jpfx
ID: 11935973
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
 

Author Comment

by:vipsem
ID: 11936178
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
 
LVL 5

Expert Comment

by:jpfx
ID: 11936457
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
 

Author Comment

by:vipsem
ID: 11937277
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
 
LVL 5

Accepted Solution

by:
jpfx earned 500 total points
ID: 11943438
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
 

Author Comment

by:vipsem
ID: 11943825
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

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

On Microsoft Windows, if  when you click or type the name of a .pl file, you get an error "is not recognized as an internal or external command, operable program or batch file", then this means you do not have the .pl file extension associated with …
Many time we need to work with multiple files all together. If its windows system then we can use some GUI based editor to accomplish our task. But what if you are on putty or have only CLI(Command Line Interface) as an option to  edit your files. I…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Six Sigma Control Plans

691 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