Perl HTML C XS Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Old Spelling fixes. Jun 24, 2013
devel Spelling fixes. Jun 24, 2013
err_new Delete issues that have been addressed or are otherwise no longer rel… Jun 28, 2004
err_shelved Updating source to current work-in-progress and adding some non-sourc… Feb 1, 2004
ex Some fixes for DBD::SQLite now that the bugs I reported in it are fixed Oct 8, 2012
lib DBD::Mem: add basic documentation Sep 5, 2017
t Fix '.' in @inc for proxy test under parallel load Mar 28, 2018
xt Add xt directory with assorted stuff I had not checked in before Oct 19, 2010
.aspell.local.pws spell check new docs Dec 21, 2012
.gdbinit Sorted .gitignore, added test_output_* and MYMETA.*. Added .gdbinit Sep 28, 2013
.gitignore Sorted .gitignore, added test_output_* and MYMETA.*. Added .gdbinit Sep 28, 2013
.travis.yml Add Perl 5.10.0 and 5.8.1 to Travis testing Jan 27, 2018
Changes Fix '.' in @inc for proxy test under parallel load Mar 28, 2018 Remove outdated links to DBI related training resources. RT#125999 Aug 4, 2018
DBI.xs Implement warn_sv/croak_sv with UTF-8 support also for Perl prior to … Aug 14, 2017
DBIXS.h Replaced ErrChangeCount with alternative approach that's binary compa… Oct 13, 2013
Driver.xst Introduce a new statement DBI method $sth->last_insert_id() Apr 27, 2018
Driver_xst.h Fixed unused variable / self-assignment compiler warnings Jul 13, 2012
INSTALL Spelling fixes. Jun 24, 2013
LICENSE Update LICENSE with "as perl itself" verbiage. Jul 18, 2015
MANIFEST Bump version to 1.639. Add lib/DBD/ to MANIFEST. Dec 28, 2017
Makefile.PL Gentler fix of failing tests Feb 19, 2018
Perl.xs Fix compile warnings in Driver.xst Feb 9, 2018 Fix travis-ci link in README Apr 5, 2013
appveyor.yml add appveyor: CI for Windows, like Travis Oct 26, 2015
dbd_xsh.h Introduce a new statement DBI method $sth->last_insert_id() Apr 27, 2018 FAQ update Nov 5, 2007
dbi_sql.h Add Id svn:keyword property to files using $Id$ keyword Feb 7, 2006
dbilogstrip.PL Avoid noise from warnings generated when syntax checking expanded .PL… Sep 2, 2009
dbipport.h Fix crashing when calling warn() and croak() functions Feb 14, 2017
dbiprof.PL Hardcoded version strings Jun 3, 2013
dbiproxy.PL Fixed spelling errors in pod. RT#107838 Apr 21, 2016
dbivport.h Fixed DBD::File finish() method to return 1 thanks to Jan Dubois. Aug 26, 2004
dbixs_rev.h commit bumped DBIXS_REVISION Jul 13, 2012 Add doc note about sth attributes relating to current result set. Jul 16, 2007 Moved _new_handle and TIEHASH to C. Apr 16, 2007 Partial work on retry mechanism for gofer. Apr 25, 2007 Update DBIXS_REVISION Feb 24, 2009
typemap Changes from Andy Lester: Apr 11, 2005

DBI - The Perl Database Interface.

Build Status

See COPYRIGHT section in for usage and distribution rights.

See GETTING HELP section in for how to get help.


The DBI requires one or more 'driver' modules to talk to databases,
but they are not needed to build or install the DBI.

Check that a DBD::* module exists for the database you wish to use.

Install the DBI using a installer like cpanm, cpanplus, cpan,
or whatever is recommened by the perl distribution you're using.
Make sure the DBI tests run successfully before installing.

Use the 'perldoc DBI' command to read the DBI documentation.

Install the DBD::* driver module you wish to use in the same way.
It is often important to read the driver README file carefully.
Make sure the driver tests run successfully before installing.

The file contains the DBI specification and other documentation. PLEASE READ IT. It'll save you asking questions on the mailing list which you will be told are already answered in the documentation.

For more information and to keep informed about progress you can join the a mailing list via You can post to the mailing list without subscribing. (Your first post may be delayed a day or so while it's being moderated.)

To help you make the best use of the dbi-users mailing list, and any other lists or forums you may use, I strongly recommend that you read "How To Ask Questions The Smart Way" by Eric Raymond:

Much useful information and online archives of the mailing lists can be found at

See also


First, read the notes in the INSTALL file.

If you can't fix it your self please post details to Please include:

  1. A complete log of a complete build, e.g.:

    perl Makefile.PL (do a make realclean first) make make test make test TEST_VERBOSE=1 (if any of the t/* tests fail)

  2. The output of perl -V

  3. If you get a core dump, try to include a stack trace from it.

    Try installing the Devel::CoreStack module to get a stack trace. If the stack trace mentions XS_DynaLoader_dl_load_file then rerun make test after setting the environment variable PERL_DL_DEBUG to 2.

  4. If your installation succeeds, but your script does not behave as you expect, the problem is possibly in your script.

    Before sending to dbi-users, try writing a small, easy to use test case to reproduce your problem. Also, use the DBI->trace method to trace your database calls.

Please don't post problems to usenet, google groups or perl5-porters. This software is supported via the dbi-users mailing list. For more information and to keep informed about progress you can join the mailing list via (please note that I do not run or manage the mailing list).

It is important to check that you are using the latest version before posting. If you're not then we're very likely to simply say "upgrade to the latest". You would do yourself a favour by upgrading beforehand.

Please remember that we're all busy. Try to help yourself first, then try to help us help you by following these guidelines carefully.

Regards, Tim Bunce and the perl5-dbi team.