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.
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
The driver is maintained by Thomas Lowery and Phlip Plumlee. They can be
contacted via the dbi-users mailing list.
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/.
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.
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.
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.
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.
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 is not yet supported by DBD::ADO
.
Calling stored procedures is supported by DBD::ADO
using the ODBC style
{call prodecure_name()}
syntax.
DBD::ADO
does not currently support the table_info()
method. It awaits the needed slack time and/or other volunteers.
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.