HDBC-odbc: ODBC driver for HDBC

[ bsd3, database, library ] [ Propose Tags ]
Dependencies base (>= && <5), bytestring, containers, convertible, HDBC (>=2.1.0), HUnit, mtl, old‑locale, old‑time, QuickCheck, testpack, time (>=, utf8‑string [details]
License BSD-3-Clause
Copyright Copyright (c) 2005-2011 John Goerzen
Author John Goerzen
Maintainer Nicolas Wu <nick@well-typed.com>
Category Database
Home page http://software.complete.org/hdbc-odbc
Uploaded by JohnGoerzen at Tue Aug 9 21:17:04 UTC 2011
Distributions Debian:, NixOS:
Executables runtests
Downloads 11314 total (91 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-12-27 [all 8 reports]
Hackage Matrix CI

This package provides an ODBC database backend for HDBC. It is cross-platform and supports unixODBC on UnixLinuxPOSIX platforms and Microsoft ODBC on Windows. It is also the preferred way to access MySQL databases from Haskell.

[Skip to Readme]


  • Database
    • HDBC
      • Database.HDBC.ODBC



Build the executable to run unit tests


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for HDBC-odbc-

[back to package description]
Welcome to HDBC, Haskell Database Connectivity.

This package provides a database backend driver for ODBC.  You should
be able to use any ODBC front-end with it.

Please see HDBC itself for documentation on use.

This package provides one function in module Database.HDBC.ODBC:

{- | Connect to an ODBC server.

For information on the meaning of the passed string, please see:


An example string is:


connectODBC :: String -> IO Connection


None known at this time.


Important note for MySQL users:

Unless you are going to use InnoDB tables, you are strongly encouraged to set

Option = 262144

in your odbc.ini (for Unix users), or to disable transaction support in your
DSN setup for Windows users.

If you fail to do this, the MySQL ODBC driver will incorrectly state that it
supports transactions.  dbTransactionSupport will incorrectly return True.
commit and rollback will then silently fail.  This is certainly /NOT/ what you
want.  It is a bug (or misfeature) in the MySQL driver, not in HDBC.

You should ignore this advice if you are using InnoDB tables.