DBD::ADO - A DBI driver for Microsoft ADO |
DBD::ADO - A DBI driver for Microsoft ADO (Active Data Objects)
use DBI;
$dbh = DBI->connect("dbi:ADO:dsn", $user, $passwd);
Options in the connect string: dbi:ADO:dsn;CommandTimeout=60 (your number) dbi:ADO:dsn;ConnectTimeout=60 (your number) or include both ConnectTimeout and CommandTimeout.
The dsn may be a standard ODBC dsn or a dsn-less. See the ADO documentation for more information on the dsn-less connection.
# See the DBI module documentation for full details
The DBD::ADO module supports ADO access on a Win32 machine. DBD::ADO is written to support the standard DBI interface to data sources.
$dbh = DBI->connect("dbi:ADO:dsn", $user, $passwd, $attribs);
Connection supports dsn and dsn-less calls.
$dbh = DBI->connect( "dbi:ADO:File Name=oracle.udl", $user, $passwd, {RaiseError => [0|1], PrintError => [0|1], AutoCommit => [0|1]});
In addition the following attributes may be set in the connect string: Attributes CommandTimeout ConnectionString ConnectionTimeout CursorLocation DefaultDatabase IsolationLevel Mode Provider
WARNING: The application is responsible for passing the correct information when setting any of these attributes.
Using the standard DBI function call $dbh->func( arguments, 'function name')
You may access the following functions: (case sensitave) OpenSchema
All functions return a valid statement handle upon success.
OpenSchema supports the following arguments: Any valid ADO Schema name such as adSchemaCatalogs adSchemaIndexes adSchemaProviderTypes
example: my $sth = $dbh->func( 'adSchemaProviderTypes', 'OpenSchema' );
Warning: This method is experimental and may change or disappear.
$sth = $dbh->table_info(\%attr);
$sth = $dbh->table_info({ TABLE_TYPE => 'VIEW', ADO_Columns => 1, Trim_Catalog => 0, Filter => q{TABLE_NAME LIKE 'C%'}, });
Returns an active statement handle that can be used to fetch information about tables and views that exist in the database. By default the handle contains the columns described in the DBI documentation:
TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE, REMARKS
%attr = (ADO_Columns => 1);
%attr = (Trim_Catalog => 1);
%attr = (TABLE_TYPE => 'VIEW')
You can add criteria for any of the following columns:
TABLE_CAT, TABLE_SCHEM, TABLE_NAME, TABLE_TYPE
%attr = (Filter => q{TABLE_TYPE LIKE 'SYSTEM%'})
The criteria string is made up of clauses in the form FieldName-Operator-Value. This is more flexible than using column criteria in that the filter allows a number of operators:
<, >, <=, >=, <>, =, or LIKE
The Fieldname must be one of the ADO 'TABLES Rowset' column names:
TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, DESCRIPTION, TABLE_GUID, TABLE_PROPID, DATE_CREATED, DATE_MODIFIED
Value is the value with which you will compare the field values (for example, 'Smith', #8/24/95#, 12.345, or $50.00). Use single quotes with strings and pound signs (#) with dates. For numbers, you can use decimal points, dollar signs, and scientific notation. If Operator is LIKE, Value can use wildcards. Only the asterisk (*) and percent sign (%) wild cards are allowed, and they must be the last character in the string. Value cannot be null.
Warning: This method is experimental and may change or disappear.
@names = $dbh->tables(\%attr);
Returns a list of table and view names. Accepts any of the attributes described in the the table_info manpage method:
@names = $dbh->tables({ TABLE_TYPE => 'VIEW' });
Support for type_info_all is supported, however, you're not using a true OLE DB provider (using the MS OLE DB -> ODBC), the first hash may not be the "best" solution for the data type. adSchemaProviderTypes does provide for a "best match" column, however the MS OLE DB -> ODBC provider does not support the best match. Currently the types are sorted by DATA_TYPE BEST_MATCH IS_LONG ...
It is strongly recommended that you use the latest version of ADO (2.1 at the time this was written). You can download it from:
http://www.microsoft.com/Data/download.htm
Phlip and Tim Bunce. With many thanks to Jan Dubois, Jochen Wiedmann and Thomas Lowery for additions, debuggery and general help.
ADO Reference book: ADO 2.0 Programmer's Reference, David Sussman and Alex Homer, Wrox, ISBN 1-861001-83-5. If there's anything better please let me know.
http://www.able-consulting.com/tech.htm
DBD::ADO - A DBI driver for Microsoft ADO |