📄 dbd.html
字号:
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>DBI::DBD - Perl DBI Database Driver Writer's Guide</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>DBI::DBD - Perl DBI Database Driver Writer's Guide</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<ul>
<li><a href="#version_and_volatility">Version and volatility</a></li>
</ul>
<li><a href="#description">DESCRIPTION</a></li>
<li><a href="#creating_a_new_driver">CREATING A NEW DRIVER</a></li>
<ul>
<li><a href="#urls_and_mailing_lists">URLs and mailing lists</a></li>
<li><a href="#the_cheetah_book">The Cheetah book</a></li>
<li><a href="#locating_drivers">Locating drivers</a></li>
<li><a href="#registering_a_new_driver">Registering a new driver</a></li>
<li><a href="#two_styles_of_database_driver">Two styles of database driver</a></li>
<li><a href="#what_code_will_you_write">What code will you write?</a></li>
<ul>
<li><a href="#files_common_to_pure_perl_and_c_xs_drivers">Files common to pure Perl and C/XS drivers</a></li>
<li><a href="#extra_files_needed_by_c_xs_drivers">Extra files needed by C/XS drivers</a></li>
</ul>
<li><a href="#requirements_on_a_driver_and_driver_writer">Requirements on a driver and driver writer</a></li>
</ul>
<li><a href="#creating_a_pure_perl_driver">CREATING A PURE PERL DRIVER</a></li>
<ul>
<li><a href="#pure_perl_version_of_makefile_pl">Pure Perl version of Makefile.PL</a></li>
<li><a href="#readme">README</a></li>
<li><a href="#manifest">MANIFEST</a></li>
<li><a href="#lib_bundle_dbd_driver_pm">lib/Bundle/DBD/Driver.pm</a></li>
<li><a href="#lib_dbd_driver_summary_pm">lib/DBD/Driver/Summary.pm</a></li>
<li><a href="#pure_perl_version_of_driver_pm">Pure Perl version of Driver.pm</a></li>
<ul>
<li><a href="#the_dbd__driver_package">The DBD::Driver package</a></li>
<ul>
<li><a href="#the_header">The header</a></li>
<li><a href="#the_driver_constructor">The driver constructor</a></li>
<li><a href="#the_clone_special_subroutine">The CLONE special subroutine</a></li>
</ul>
<li><a href="#the_dbd__driver__dr_package">The DBD::Driver::dr package</a></li>
<ul>
<li><a href="#the_database_handle_constructor">The database handle constructor</a></li>
<li><a href="#the_data_sources_method">The data_sources method</a></li>
<li><a href="#error_handling">Error handling</a></li>
<li><a href="#the_disconnect_all_method">The disconnect_all method</a></li>
<li><a href="#other_driver_handle_methods">Other driver handle methods</a></li>
</ul>
<li><a href="#the_dbd__driver__db_package">The DBD::Driver::db package</a></li>
<ul>
<li><a href="#the_statement_handle_constructor">The statement handle constructor</a></li>
<li><a href="#transaction_handling">Transaction handling</a></li>
<li><a href="#the_store_and_fetch_methods">The STORE and FETCH methods</a></li>
<li><a href="#other_database_handle_methods">Other database handle methods</a></li>
</ul>
<li><a href="#the_dbd__driver__st_package">The DBD::Driver::st package</a></li>
<ul>
<li><a href="#the_execute_method">The execute method</a></li>
<li><a href="#fetching_data">Fetching data</a></li>
<li><a href="#statement_attributes">Statement attributes</a></li>
<li><a href="#other_statement_methods">Other statement methods</a></li>
</ul>
</ul>
<li><a href="#tests">Tests</a></li>
</ul>
<li><a href="#creating_a_c_xs_driver">CREATING A C/XS DRIVER</a></li>
<ul>
<li><a href="#c_xs_version_of_driver_pm">C/XS version of Driver.pm</a></li>
<ul>
<li><a href="#the_connect_method">The connect method</a></li>
<li><a href="#the_disconnect_all_method">The disconnect_all method</a></li>
<li><a href="#the_data_sources_method">The data_sources method</a></li>
<li><a href="#the_prepare_method">The prepare method</a></li>
<li><a href="#the_execute_method">The execute method</a></li>
<li><a href="#the_fetchrow_arrayref_method">The fetchrow_arrayref method</a></li>
<li><a href="#other_methods">Other methods?</a></li>
</ul>
<li><a href="#driver_xs">Driver.xs</a></li>
<li><a href="#driver_h">Driver.h</a></li>
<li><a href="#implementation_header_dbdimp_h">Implementation header dbdimp.h</a></li>
<li><a href="#implementation_source_dbdimp_c">Implementation source dbdimp.c</a></li>
<ul>
<li><a href="#the_dbd_init_method">The dbd_init method</a></li>
<li><a href="#the_dbd_drv_error_method">The dbd_drv_error method</a></li>
<li><a href="#the_dbd_dr_data_sources_method">The dbd_dr_data_sources method</a></li>
<li><a href="#the_dbd_db_login6_method">The dbd_db_login6 method</a></li>
<li><a href="#the_dbd_db_commit_and_dbd_db_rollback_methods">The dbd_db_commit and dbd_db_rollback methods</a></li>
<li><a href="#the_dbd_db_disconnect_method">The dbd_db_disconnect method</a></li>
<li><a href="#the_dbd_db_discon_all_method">The dbd_db_discon_all method</a></li>
<li><a href="#the_dbd_db_destroy_method">The dbd_db_destroy method</a></li>
<li><a href="#the_dbd_db_store_attrib_method">The dbd_db_STORE_attrib method</a></li>
<li><a href="#the_dbd_db_fetch_attrib_method">The dbd_db_FETCH_attrib method</a></li>
<li><a href="#the_dbd_st_prepare_method">The dbd_st_prepare method</a></li>
<li><a href="#the_dbd_st_execute_method">The dbd_st_execute method</a></li>
<li><a href="#the_dbd_st_fetch_method">The dbd_st_fetch method</a></li>
<li><a href="#the_dbd_st_finish3_method">The dbd_st_finish3 method</a></li>
<li><a href="#the_dbd_st_destroy_method">The dbd_st_destroy method</a></li>
<li><a href="#the_dbd_st_store_attrib_and_dbd_st_fetch_attrib_methods">The dbd_st_STORE_attrib and dbd_st_FETCH_attrib methods</a></li>
<li><a href="#the_dbd_bind_ph_method">The dbd_bind_ph method</a></li>
<li><a href="#implementing_bind_param_inout_support">Implementing bind_param_inout support</a></li>
</ul>
<li><a href="#c_xs_version_of_makefile_pl">C/XS version of Makefile.PL</a></li>
<li><a href="#methods_which_do_not_need_to_be_written">Methods which do not need to be written</a></li>
</ul>
<li><a href="#metadata_methods">METADATA METHODS</a></li>
<ul>
<li><a href="#using_dbi__dbd__metadata">Using DBI::DBD::Metadata</a></li>
<ul>
<li><a href="#generating_the_get_info_method">Generating the get_info method</a></li>
<li><a href="#generating_the_type_info_method">Generating the type_info method</a></li>
</ul>
<li><a href="#writing_dbd__driver__db__get_info">Writing DBD::Driver::db::get_info</a></li>
<li><a href="#writing_dbd__driver__db__type_info_all">Writing DBD::Driver::db::type_info_all</a></li>
<li><a href="#writing_dbd__driver__db__type_info">Writing DBD::Driver::db::type_info</a></li>
<li><a href="#writing_dbd__driver__db__table_info">Writing DBD::Driver::db::table_info</a></li>
<li><a href="#writing_dbd__driver__db__column_info">Writing DBD::Driver::db::column_info</a></li>
<li><a href="#writing_dbd__driver__db__primary_key_info">Writing DBD::Driver::db::primary_key_info</a></li>
<li><a href="#writing_dbd__driver__db__primary_key">Writing DBD::Driver::db::primary_key</a></li>
<li><a href="#writing_dbd__driver__db__foreign_key_info">Writing DBD::Driver::db::foreign_key_info</a></li>
<li><a href="#writing_dbd__driver__db__tables">Writing DBD::Driver::db::tables</a></li>
<li><a href="#writing_dbd__driver__db__quote">Writing DBD::Driver::db::quote</a></li>
<li><a href="#writing_dbd__driver__db__quote_identifier">Writing DBD::Driver::db::quote_identifier</a></li>
</ul>
<li><a href="#writing_an_emulation_layer_for_an_old_perl_interface">WRITING AN EMULATION LAYER FOR AN OLD PERL INTERFACE</a></li>
<ul>
<li><a href="#setting_emulation_perl_variables">Setting emulation perl variables</a></li>
</ul>
<li><a href="#other_miscellaneous_information">OTHER MISCELLANEOUS INFORMATION</a></li>
<ul>
<li><a href="#the_imp_xyz_t_types">The imp_xyz_t types</a></li>
<li><a href="#using_dbic_impset_on">Using DBIc_IMPSET_on</a></li>
<li><a href="#using_dbic_is____dbic_has____dbic_on___and_dbic_off__">Using DBIc_is(), DBIc_has(), <code>DBIc_on()</code> and <code>DBIc_off()</code></a></li>
<li><a href="#using_the_get_fbav___method">Using the <code>get_fbav()</code> method</a></li>
</ul>
<li><a href="#subclassing_dbi_drivers">SUBCLASSING DBI DRIVERS</a></li>
<ul>
<li><a href="#overwriting_methods">Overwriting methods</a></li>
<li><a href="#attribute_handling">Attribute handling</a></li>
</ul>
<li><a href="#authors">AUTHORS</a></li>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>DBI::DBD - Perl DBI Database Driver Writer's Guide</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
<a href="../../lib/Pod/perldoc.html">perldoc</a> DBI::DBD</pre>
<p>
</p>
<h2><a name="version_and_volatility">Version and volatility</a></h2>
<p>This document is <em>still</em> a minimal draft which is in need of further work.</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -