Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Load up Access to UNIX and connect to it in UNIX, since there is an ODBC Driver?

Originally posted as a Categorized Question.

Replies are listed 'Best First'.
Re: Can I interface MS Access on Unix?
by Coyote (Deacon) on Apr 05, 2001 at 02:52 UTC
    I don't know of any way to access and Access databased directly from Unix, however if you have a networked Windows box available, you can use the DBI::ProxyServer module from CPAN in conjunction with <a href='http://search.cpan.org/search?mode=module&query=DBD%3A%3AODBC>DBD::ODBC to set up a simple database server for the Access database on the Windows machine. You can now use the DBD::Proxy driver in a script on the Unix side to access the database just like you would any other DBI compatible datasource. Its ugly, round about solution but it works.
Re: Can I interface MS Access on Unix?
by LucidMatrix (Initiate) on Apr 05, 2001 at 05:12 UTC
    This is slightly round about, but it works, I've done it for quick demos of this and that.

    Use MySQL and create all of your tables in this. the same SQL statments can create the tables in ACCESS later, so you aren't wasting efforts.

    Install the ODBC MySQL client on the windows machine, and connect it to the Unix database on the server.

    Now, connect, don't import, .. connect/link in Access each of the data files you want to use in your ACCESS program.

    That's it. Any information changed on the MySQL server will now also be live on your MS Access server. A small warning, MS Access will never give you the performace that you will have on the server with MySQL, but you can write all of the VB progarms you want and they will treat the linked data files just like Access data files.

    Hope this helps and good luck
Re: Can I interface MS Access on Unix?
by jorg (Friar) on Apr 05, 2001 at 02:13 UTC
    Wouldn't think you can access Access from Unix through ODBC.. (please correct me if this has been done.. a quick search didn't return anything usefull).
    How about the following : you run an IIS (or your choice of webserver) on that windows machine with a CGI script (perl ofcourse (: ) that accepts a query/odbc name as parameters, then goes off to query your access database through DBD::ODBC and returns you a resultset delimited and separated as whatever you want.

      A (hopefully obvious) note: Be wary of the security implications of this. Having someone get to that CGI script, and give it "select credit_cards from users" would really ruin your day.

       
      perl -e 'print "I love $^X$\"$]!$/"#$&V"+@( NO CARRIER'

        very true.. i was more thinking that this would be an intranet application but yes even so it would be unwise to let anyone access the data without adding an extra layer of security on top of it

        Jorg

        "Do or do not, there is no try" -- Yoda
Re: Can I interface MS Access on Unix?
by hacker_j99 (Beadle) on Jul 26, 2001 at 05:37 UTC
    Currently you can use FreeTDS ( with some tweaks) or Sybase and use DBD::SYBASE insead of DBD::ODBC...