[egenix-users] mxODBC, windows, mdb, local and network access

M.-A. Lemburg mal at egenix.com
Tue Mar 17 21:14:15 CET 2009

On 2009-03-17 20:08, Tentin Quarantino wrote:
> Hello egenix community,
> I want to believe that mxODBC will help me accomplish my task. :)
> Of course, my success will depend on how I approach my task.
> That is why I seek guidance from the egenix community.
> I look forward to purchasing the mxODBC product if it will be a part
> of my solution.
> I have a mdb file which is version JET4 indicating Access 2000 or Access XP.
> I created an ODBC Data source so that I could access this file's data
> with egenix's mxODBC product via Python. I like how the mxODBC library returns
> the data as built-in Python data types. That's very convenient.
> This was done on the "localhost", as it were, on a Windows host.
> Now, I want to access the same ODBC data source (on the Windows host) from
> a Linux host across the network. I am hoping that Windows can accommodate
> this by putting the Data Source on the network. I am confident that mxODBC
> will accommodate this by simply using the appropriate DSN.
> What would the DSN would look like for this?

This will not work with mxODBC since it requires an ODBC driver
on the same machine where you use it, ie. a Linux ODBC driver for
the Access database file.

I am not even sure whether this is possible given that Access uses
a very file-based approach to storage.

However, this is exactly the kind of situation we developed
mxODBC Connect for:


You install the easy to port client part of mxODBC Connect on the
client machine where you run you Python script, ie. the Linux
box. You don't need an ODBC driver for the client machine.

On the server side, the Windows box, you install the mxODBC Connect
Server which can then use all ODBC data sources you have configured
on the Windows box (including the one for the JET4 MDB file).

mxODBC Connect then does all the networking needed for the two
parts to communicate with each other - and you can benefit from
compression and SSL-level security as well.

The interface on the client side is the mostly same as offered
by the standalone mxODBC when used directly on the Windows box.

> If it is not possible, what needs to change in my approach?
> I would prefer to continue to use the mxODBC product in my solution due
> to the way it conveniently returns data.
> Note, while reading the egenix archives, I saw references to mdbtools on Linux.
> I have started to investigate this solution. However, (prior to
> RTFMing) I fear that
> mdbtools will not return data as nice Python built-in types such as tuples and
> instead just text. So far that appears to be my experience. It does
> not appear to
> have the programming convenience and integration with Python as does mxODBC.

Even if you use mdbtools, you would still have to put the MDB file
on a network share with all the problems associated with this.

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Mar 17 2009)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the egenix-users mailing list