[ Perl Rocks !! ]

[ The Perl Journal ]
[ The Perl Journal ]

[ Perl Republic ]
[ Perl ]

DBD::ADO

Module Information
Author: Thomas Wenrich
Module Version: 0.14
Module Release Date: 12-Jul-1999


DBD Summary for DBD::ADO
This summary document was originally published in "Programming the Perl DBI"


DBD::ADO


General Information


Driver Version

DBD::ADO version 0.03.

At the time of this writing, the DBD::ADO driver even ADO itself are relatively new. Things are bound to change, so be sure to read the latest documentation.


Feature Summary

Because DBD::ADO acts as an interface to other lower-level database drivers within Windows, much of its behaviour is governed by those drivers.

  Transactions                           Dependent on connected data source
  Locking                                Dependent on connected data source
  Table joins                            Dependent on connected data source
  LONG/LOB data types                    Dependent on connected data source
  Statement handle attributes available  After execute()
  Placeholders                           No, not yet
  Stored procedures                      Limited support, no parameters
  Bind output values                     No
  Table name letter case                 Dependent on connected data source
  Field name letter case                 Dependent on connected data source
  Quoting of otherwise invalid names     Dependent on connected data source
  Case insensitive "LIKE" operator       Dependent on connected data source
  Server table ROW ID pseudocolumn       Dependent on connected data source
  Positioned update/delete               No
  Concurrent use of multiple handles     Dependent on connected data source


Author and Contact Details

The driver is maintained by Thomas Lowery and Phlip Plumlee. They can be contacted via the dbi-users mailing list.


Supported Database Versions and Options

The DBD::ADO module requires Microsoft ADO version 2.1 or later to work reliably. Using NT with Service Pack 4 is recommended. The module is pure Perl, making use of the Win32::OLE module to handle the ADO requests.

The DBD::ADO module supports the use of SQL statements to query any data source your raw ADO supports. This can include the Jet data drivers for the various Microsoft Office file formats, any number of ODBC data drivers, or experimental data providers that expose file system folder heirarchies or Internet directory services as data sources.

Each provider system variously supports SQL, either in a native format like MS-SQL Server's Transact SQL or as an emulation layer in the data provider, such as a Jet data driver reading an Excel spreadsheet.

Information about ADO can be found at http://www.microsoft.com/data/ado/.


Differences from the DBI Specification

DBD::ADO is a very new and currently incomplete driver. It is evolving rapidly though, and since it's written in pure Perl using Win32::OLE, it's easy for people to enhance.


Connect Syntax

The DBI->connect() Data Source Name, or DSN, has the following format:

  dbi:ADO:DSN

Where DSN must be an ODBC Data Source Name registered with the Control Panel ODBC Data Sources applet. If your DBI application runs as a service or daemon, such as a CGI script, the DSN must appear on the ``System DSN'' tab.

There are no driver specific attributes for the DBI->connect() method. DBD::ADO supports an unlimited number of concurrent data source connections to one or more data sources subject to the limitations of those data sources.


Data Types

The numeric, string, date and LONG/LOB data types depend on the interaction of four forces: What a Perl ``scalar'' supports, how the Win32::OLE layer translates VARIANTs into scalars, the types that VARIANT itself permits, and the types your target provider emits.

A user-programmer must research those forces in their relevant documentation. Rest assured that DBD::ADO will then transmit the type correctly.


Transactions, Isolation and Locking

DBD::ADO reflects the capabilities of the native Connection to the user. Transactions, if a provider supports them, are per connection - all statements derived from one connection will ``see'' updates to that data that await a COMMIT statement. Other connections to that data source will not see these pending updates.


SQL Dialect

Because DBD::ADO acts as an interface to other database drivers, the following issues are governed by those drivers and the databases they connect to:

For more information refer to the documentation for the drivers and the database being used.

The DBD::ADO driver does not support positioned updates and deletes.


Parameter Binding

Parameter binding is not yet supported by DBD::ADO.


Stored Procedures

Calling stored procedures is supported by DBD::ADO using the ODBC style {call prodecure_name()} syntax.


Table Metadata

DBD::ADO does not currently support the table_info() method. It awaits the needed slack time and/or other volunteers.


Driver-specific Attributes and Methods

The ADO Connection object can be accessed from database and statement handles via the ado_conn attribute.

The ADO RecordSet object can be accessed from statement handles via the ado_rs attribute.

[ In Association With Amazon Books ]
[ Related Books ]


Last modified on:
Copyright © 1995-2000
Alligator Descartes
1