Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

MDBTools and Linux 64 and incorrect values

Help
mariella
2010-05-10
2013-05-01
  •  mariella
    mariella
    2010-05-10

    Hi All,

    I would like to use mdbtools to extract Microsoft Access 2003 data on a Linux system 64 bits.
    I have compiled it but I have been running into some issues while running the mdb-tables and mdb-export commands.

    - I have been using mdbtools-0.6pre1.tar on a RH Linux 64 bit machine (I have not been able to test the equivalent on a 32 bit machine).
    - I have been using unixODBC (unixODBC 2.2.14) installed on /usr/local (64 bits)

    I would appreciate any help on this.
    I will list all the steps executed below.

    The code has been compiled using :

    CFLAGS='-DBUILD_LEGACY_64_BIT_MODE' ./configure -enable-sql -with-unixodbc=/usr/local -prefix=…..
    (I had to specify the BUILD_LEGACY_64_BIT_MODE otherwise I would get odbc type conflicts)

    I have made the following changes :

    A)
    I have modified the src/libmdb/backend.c file regarding the
    the following declaration

    from
    /* static GHashTable *mdb_backends; */

    to
    GHashTable *mdb_backends;

    because of the following error

    backend.c:31: error: static declaration of 'mdb_backends' follows non-static declaration
    ../../include/mdbtools.h:150: error: previous declaration of 'mdb_backends' was here

    B)
    I did commented  the following two functions
    read_history and write_history

    in  src/util/mdb-sql.c
    regarding  the following error

    gcc -DBUILD_LEGACY_64_BIT_MODE -DSQL -DUNIXODBC -o .libs/mdb-sql mdb-sql.o  ../libmdb/.libs/libmdb -L/lib64 -lm ../sql/.libs/libmdbsql -lglib-2.0 -lfl -Wl,-rpath -Wl,/usr/local/mdbtools/lib
    mdb-sql.o: In function `main':
    mdb-sql.c:(.text+0xf60): undefined reference to `read_history'
    mdb-sql.c:(.text+0x180d): undefined reference to `write_history'

    After that I was able to compile and install the software.

    I have tried to read 2 distinct Microsoft Access .mdb files and these are the issues I have been running into:

    1) With a small .mdb file (~ 2MB size )  I have been able to read the tables with mdb-tables , however when I tried to retrieve the data
       I have run into the following issue :

       mdb-export /tmp/filename.mdb tablename1

       I get the following error :

       offset 117440512 is beyond EOF
       offset 121634816 is beyond EOF

    B) With a bigger .mdb file (~ 400MB) while trying to run  the mdb-tables command I get the following error :

       mdb-tables ./table2

       08290309653

    I would appreciate any help.

    Thanks,

    Mariella

     

  • Anonymous
    2010-06-09

    Mariella, thank you much. I could compile mdbtools in a 64bits machines following the step 1.

    I hope they fix this problems in the next release.