Scroll to navigation

DBIx::Class::Storage::DBI::ADO::MS_Jet(3pm) User Contributed Perl Documentation DBIx::Class::Storage::DBI::ADO::MS_Jet(3pm)


DBIx::Class::Storage::DBI::ADO::MS_Jet - Support for MS Access over ADO


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.


  # 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'


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.


Check the list of additional DBIC resources.


This module is free software copyright by the DBIx::Class (DBIC) authors. You can redistribute it and/or modify it under the same terms as the DBIx::Class library.

2018-04-19 perl v5.26.2