NAME
DBIO::Storage::DBI::ODBC - Base class for ODBC drivers
VERSION
version 0.900004
DESCRIPTION
The base of the ODBC storage classes of drivers that run over DBD::ODBC (DBIO::MSSQL::Storage::ODBC, DBIO::Firebird::Storage::ODBC): the ODBC transport helpers above, and the refusal to build a DSN from connection parameters. It is not a driver and does not find one: an ODBC connection does not say which engine is behind it, so a schema declares its driver, and a driver that runs over ODBC moves its storage into its own ODBC class in its "_adapt_to_access_path" in DBIO::Storage::DBI (ADR 0059, ADR 0067). "driver_for" in DBIO refuses an ODBC DSN for the same reason.
METHODS
_using_freetds
Return true when current connection appears to use FreeTDS.
_using_freetds_version
Return FreeTDS version string if available, 0 if undetermined, or undef when FreeTDS is not in use.
_disable_odbc_array_ops
Disable array-operations behavior in DBD::ODBC using version-appropriate driver attributes.
_connect_params_dsn
Refuses. The DSN seam of "_connect_params_dsn" in DBIO::Storage::DBI (ADR 0057) has no form to build for DBD::ODBC out of dbname, host and port: DBD::ODBC connects through a data source name (dbi:ODBC:DSN=name, configured in odbc.ini) or a connection string that names the ODBC driver (dbi:ODBC:Driver={...};...), whose keywords that driver defines -- and connection parameters carry neither. Guessing one would connect somewhere else, or not at all.
The error names the ways out: the whole DSN, as dsn or as a dbname that starts with dbi:ODBC: (DBIO::AccessBroker::Static passes it on), or an AccessBroker that answers in DBI form. An engine reached over ODBC whose driver knows its ODBC connection string overrides this in its own ODBC storage class.
METHODS
AUTHOR
DBIO & DBIx::Class Authors
COPYRIGHT AND LICENSE
Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.