Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Perl DBI
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{multiple issues| {{primary sources|date=February 2012}} {{notability|Products|date=February 2012}} }} In [[computing]], the '''Perl DBI''' ('''Perl Database Interface''') offers a standardized way for [[Computer programmer|programmers]] using the [[Perl]] [[programming language]] to embed [[database]] communication within their programs. The latest DBI module for Perl from CPAN can run on a range of [[operating system]]s. == History == In September 1992, [[Buzz Moschetti]], creator of interperl, observed that several bespoke compiled extensions of perl (at the time, perl version 4 or more commonly perl4) featuring connectivity to popular SQL-based databases had emerged, namely Interbase, Informix, Oracle, and Sybase. He engaged the authors of these bespoke versions <ref>{{Cite web | url=https://blog.timbunce.org/2010/07/08/reflections-on-perl-and-dbi-from-an-early-contributor/ |title = Reflections on Perl and DBI from an Early Contributor|date = 8 July 2010}}</ref> with the idea of creating a common interface layer to the databases separate from the specifics of the underlying implementations. [[Tim Bunce]] took the lead and began specifying what would become the DBI module in 1994 upon the release of perl5 which eliminated the need for bespoke compilation in favor of dynamic, invocation time loading of libraries (modules).<ref>{{Cite web |url=https://metacpan.org/pod/DBI::Changes#ANCIENT-HISTORY |title=DBI::Changes - List of significant changes to the DBI - metacpan.org |access-date=2014-05-09 |archive-url=https://web.archive.org/web/20140513095331/https://metacpan.org/pod/DBI::Changes#ANCIENT-HISTORY |archive-date=2014-05-13 |url-status=dead }}</ref> {{As of | 2010}} the Perl community maintains DBI as a [[CPAN]] module in accordance with the [[open-source model]]. DBD (DataBase Driver) modules serve as [[plug-in (computing)|plug-in]]s to DBI, allowing programmers to use near-database-independent [[SQL]] code in their applications. Programmers can also use the DBI and DBD modules indirectly using one of the [[object-relational mapper]]s available for Perl, such as [[DBIx::Class]], for more database-independent code with no need to write SQL. == Features == The DBI and DBD Perl packages allow Perl programmers to access many database environments in a standard way. The system implements each supported database environment as a DBD driver, in much the same way that hardware devices from multiple vendors can operate with different [[Central processing unit|CPU]] platforms. Prospective DBD users can download DBD implementations from the Internet. DBD implementations exist for proprietary products such as [[IBM Db2]], [[Microsoft SQL Server]], [[Oracle database|Oracle]] and for [[free software|free-software]] databases such as [[SQLite]], [[PostgreSQL]], [[Firebird (database server)|Firebird]] and [[MySQL]]. == Similar projects == [[PHP]] 5 has a similar interface called PHP Data Objects (PDO).<ref>{{Cite web | url=http://www.php.net/manual/en/intro.pdo.php | title=PHP: Introduction - Manual}}</ref> Java's [[Java Database Connectivity]] (JDBC) is also similar. == References == {{reflist}} == External links == * {{official website|http://dbi.perl.org/}} * [http://metacpan.org/module/DBI DBI module documentation] on MetaCPAN * [http://metacpan.org/search?q=dbd DBD drivers] on MetaCPAN {{Perl}} [[Category:Perl modules]] {{free-software-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:As of
(
edit
)
Template:Cite web
(
edit
)
Template:Free-software-stub
(
edit
)
Template:Multiple issues
(
edit
)
Template:Official website
(
edit
)
Template:Perl
(
edit
)
Template:Reflist
(
edit
)