NAME
DBIx::Class::Storage::DBI::ADO::MS_Jet - Support for MS Access over ADO
DESCRIPTION
This driver is a subclass of DBIx::Class::Storage::DBI::ADO and DBIx::Class::Storage::DBI::ACCESS for connecting to MS Access via DBD::ADO.
See the documentation for DBIx::Class::Storage::DBI::ACCESS for information on the MS Access driver for DBIx::Class.
This driver implements workarounds for TEXT/IMAGE/MEMO
columns, sets the cursor_class to DBIx::Class::Storage::DBI::ADO::MS_Jet::Cursor to normalize returned GUID
values and provides DBIx::Class::InflateColumn::DateTime support for DATETIME
columns.
EXAMPLE DSNs
# older Access versions:
dbi:ADO:Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\rkitover\Documents\access_sample.accdb
# newer Access versions:
dbi:ADO:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\rkitover\Documents\access_sample.accdb;Persist Security Info=False'
TEXT/IMAGE/MEMO COLUMNS
The ADO driver does not suffer from the problems the ODBC driver has with these types of columns. You can use them safely.
When you execute a CREATE TABLE
statement over this driver with a TEXT
column, it will be converted to MEMO
, while in the ODBC driver it is converted to VARCHAR(255)
.
However, the caveat about LongReadLen having to be twice the max size of your largest MEMO/TEXT
column +1
still applies. DBD::ADO sets LongReadLen to a large value by default, so it should be safe to just leave it unset. If you do pass a LongReadLen in your connect_info, it will be multiplied by two and 1
added, just as for the ODBC driver.
AUTHOR
See "AUTHOR" in DBIx::Class and "CONTRIBUTORS" in DBIx::Class.
LICENSE
You may distribute this code under the same terms as Perl itself.