DBIx::C...:MS_Jet(3)

✨ NAME ✨

DBIx::Class::Storage::DBI::ADO::MS_Jet β€” Support for MS Access over ADO. This page is DBIx::C...:MS_Jet(3), and yes bestie, it's giving User Contributed Perl Documentation main-character energy ✨

πŸ’… DESCRIPTION πŸ’…

Okay so this driver is a subclass of DBIx::Class::Storage::DBI::ADO and DBIx::Class::Storage::DBI::ACCESS, and it's for connecting to MS Access via DBD::ADO. Slay.

For the full tea on the MS Access driver for DBIx::Class, see the documentation for DBIx::Class::Storage::DBI::ACCESS. 🫢

This driver is lowkey doing a lot of useful work:

  • It implements workarounds for TEXT/IMAGE/MEMO columns.
  • It sets the cursor_class to DBIx::Class::Storage::DBI::ADO::MS_Jet::Cursor to normalize returned GUID values.
  • It provides DBIx::Class::InflateColumn::DateTime support for DATETIME columns.

πŸŽ€ EXAMPLE DSNs πŸŽ€

Copy these exactly, no cap:

# 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. Iconic behavior, honestly.

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). Not me being obsessed with column-type glow-ups 😭

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. Periodt.

πŸ¦‹ FURTHER QUESTIONS? πŸ¦‹

Check the list of additional DBIC resources. That's the move. πŸ’–

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. Slay legally, bestie πŸ’…


Cute sign-off: DBIx::C...:MS_Jet(3) comes from perl v5.42.0, dated 2025-01-22 β€” mwah, go be iconic βœ¨πŸ’–

πŸ“¦ where this page comes from