MDB Tools - Read Access databases on *nix
Go to file
Evan Miller e9f4c6c786 Remove GLib dependency WIP
Add a shim implementing half-assed versions of most of the GLib
functions used by MDB Tools. If GLib is detected at compile-time,
use it, otherwise use the shim.

This work is not complete, as the option-parsing code is not yet
implemented - so most of the command-line tools crash.
2020-08-03 17:19:40 -04:00
bin Bumped version to 0.8.2 and updated change log 2018-12-28 08:03:02 -05:00
doc Improved support for Access 2010, 2013, and 2016 2018-03-05 06:39:57 -05:00
include Remove GLib dependency WIP 2020-08-03 17:19:40 -04:00
m4 allow building without gnome-doc-utils 2015-09-28 13:55:59 +02:00
src Remove GLib dependency WIP 2020-08-03 17:19:40 -04:00
.gitignore Bumped version to 0.8.2 and updated change log 2018-12-28 08:03:02 -05:00
.travis.yml --enable-sql is obsolete 2020-08-03 16:55:16 -04:00
AUTHORS added (trivial) mdb-count utility 2017-02-05 08:56:24 +13:00
ChangeLog Returned some files that required by automake 2018-02-13 13:54:34 -05:00
CHANGELOG.md Bumped version to 0.8.2 and updated change log 2018-12-28 08:03:02 -05:00
configure.ac Remove GLib dependency WIP 2020-08-03 17:19:40 -04:00
COPYING Patch docs.diff from Nirgal 2011-08-28 19:53:29 -04:00
COPYING.LIB remove exec bit from COPYING.LIB 2011-08-28 20:03:12 -04:00
gnome-doc-utils.make Moved gmdb help arch from rarian to gnome-doc 2013-10-24 21:48:51 +02:00
HACKING Update unknown flag to ddl flag for properties 2018-01-25 09:58:01 -05:00
libmdb.pc.in new files from Michael Meeks patch I neglected to check in 2004-05-05 01:38:50 +00:00
libmdbsql.pc.in new files from Michael Meeks patch I neglected to check in 2004-05-05 01:38:50 +00:00
Makefile.am Returned some files that required by automake 2018-02-13 13:54:34 -05:00
mdbtools.spec.in fix for spec file to remove pixmaps dir 2003-01-15 16:49:08 +00:00
NEWS Releasing version 0.7.1 2013-10-13 10:51:24 +02:00
README Returned some files that required by automake 2018-02-13 13:54:34 -05:00
README.md --enable-sql is obsolete 2020-08-03 16:55:16 -04:00
TODO Removed last compilation warnings, updated TODO 2012-07-02 23:29:05 +02:00

Build Status

MDB Tools, where open source goes to die.

This is a fork of a fork of a fork of a fork of the original MDB Tools by Brian Buns. I got sick of seeing the project waste away, so I'm taking the initiative to get MDB Tools whipped back into shape and properly maintained.

A brief history: the last official release (version 0.7.1) occurred in 2016. cyberemissary (whose work this fork is based on) made a release in December 2018 and called it 0.8.2. I am not planning a formal release but rather collecting and merging patches to submit upstream. In the meantime you are welcome to use this code base:

https://github.com/evanmiller/mdbtools

Intended focus areas:

  • Security / fuzz testing
  • Continuous integration with Travis and AppVeyor
  • Removing dependencies

A re-formatted and updated README file follows.

In a chipper open-source voice...

Welcome to the exciting world of MDB Tools! In short, MDB Tools is a set of programs to help you use Microsoft Access file in various settings.

The initial goal of these tools is to be able to extract data structures and data from mdb files. This goal will of course expand over time as the file format becomes more well understood.

Components

The major pieces of MDB Tools are:

libmdb

The core library that allows access to MDB files programatically.

libmdbsql

Builds on libmdb to provide a SQL engine (aka Jet)

utils

Provids command line utilities, including:

mdb-ver

Prints the version (JET 3 or 4) of an mdb file.

mdb-schema

Prints DDL for the specified table.

mdb-export

Export table to CSV format.

mdb-tables

A simple dump of table names to be used with shell scripts.

mdb-count

A simple count of number of rows in a table, to be used in shell scripts and ETL pipelines.

mdb-header

Generates a C header to be used in exporting mdb data to a C prog.

mdb-parsecsv

Generates a C program given a CSV file made with mdb-export.

mdb-sql

A simple SQL engine (also used by ODBC and gmdb).

prcat

Prints the catalog table from an mdb file.

prkkd

Dump of information about design view data given the offset to it.

prtable

Dump of a table definition.

prdata

Dump of the data given a table name.

prole

Dump of ole columns given a table name and sargs.

odbc

An ODBC driver for use with unixODBC or iODBC driver manager. Allows one to use MDB files with PHP for example.

gmdb2

The Gnome MDB File Viewer and debugger. Still alpha, but making great progress.

src/extras/mdb-hexdump

Simple hex dump utility that I've been using to look at mdb files.

License

Files in libmdb, libmdbsql, and libmdbodbc are licensed under LGPL and the utilities and gui program are under the GPL, see COPYING.LIB and COPYING files respectively.

Requirements

First, you must have reasonably current installations of:

If you want to build the SQL engine, you'll need bison or byacc, and flex.

If you want to build the ODBC driver, you'll need unixodbc-dev (version 2.2.10 or above) or iodbc.

If you want to build man pages, you'll need txt2man.

If you want to generate the html version of the docbook, you'll need openjade and basic dsl catalogs.

Installation

Last version is available at https://github.com/evanmiller/mdbtools

$ autoreconf -i -f

If you want to build the html version of the docbook documentation, you need to set the environment variable DOCBOOK_DSL to the modular dsl translation file. For exemple, before configure, you need something like:

$ export DOCBOOK_DSL=/usr/share/sgml/docbook/stylesheet/dsssl/modular/html/docbook.dsl

$ ./configure

OR for a complete install (requires bison, flex, and unixODBC):

$ ./configure --with-unixodbc=/usr/local

configure can be passed any of the following flags to turn on other capabilities. Note that the options --with-unixodbc and --with-iodbc are mutually exclusive.

--with-unixodbc  specifies the location of the unixODBC driver manager and 
                 causes the unixODBC driver to be built.
--with-iodbc     specifies the location of the iODBC driver manager and 
                 causes the iODBC driver to be built.

A list of general options is available in the INSTALL file, and configure --help will give you the list of mdbtools specific options.

$ make

Once MDB Tools has been compiled, libmdb.[so|a] will be in the src/libmdb directory and the utility programs will be in the src/util directory.

You can then install (to /usr/local by default) by running the following as root:

$ make install

Some systems will also need the ld cache to be updated after installation; You can do that running:

$ ldconfig

Hacking

If you are interested in helping, read the HACKING file for a description of where the code stands and what has been gleened of the file format.

Contact

Please send bug reports to the new github repository. https://github.com/evanmiller/mdbtools/issues