DBIx::Class::Storage::DBI::ADO::Microsoft_SQL_Server - Support for Microsoft SQL Server via DBD::ADO
This subclass supports MSSQL server connections via DBD::ADO.
The MSSQL specific functionality is provided by DBIx::Class::Storage::DBI::MSSQL.
dbi:ADO:provider=sqlncli10;server=EEEBOX\SQLEXPRESS
_identity_method is set to @@identity, as SCOPE_IDENTITY() doesn't work with DBD::ADO. See "IMPLEMENTATION NOTES" in DBIx::Class::Storage::DBI::MSSQL for caveats regarding this.
_identity_method
@@identity
SCOPE_IDENTITY()
There is a bug with MSSQL ADO providers where data gets truncated based on the size of the bind sizes in the first prepare call:
https://rt.cpan.org/Ticket/Display.html?id=52048
The ado_size workaround is used (see "ADO Providers" in DBD::ADO) with the approximate maximum size of the data_type of the bound column, or 8000 (maximum VARCHAR size) if the data_type is not available.
ado_size
Please report problems with this driver and send patches.
LongReadLen is set to LongReadLen * 2 + 1 on connection as it is necessary for some LOB types. Be aware of this if you localize this value on the $dbh directly.
LongReadLen
LongReadLen * 2 + 1
$dbh
Due perhaps to the ado_size workaround we use, and/or other reasons, binary data such as varbinary column data comes back padded with trailing NULL chars. The Cursor class for this driver (DBIx::Class::Storage::DBI::ADO::Microsoft_SQL_Server::Cursor) removes them, of course if your binary data is actually NULL padded that may be an issue to keep in mind when using this driver.
varbinary
NULL
uniqueidentifier columns come back from ADO wrapped in braces and must be submitted to the MSSQL ADO driver wrapped in braces. We take care of this transparently in this driver and the associated Cursor class (DBIx::Class::Storage::DBI::ADO::Microsoft_SQL_Server::Cursor) so that you don't have to use braces in most cases (except in literal SQL, in those cases you will have to add the braces yourself.)
Fractional seconds with DBIx::Class::InflateColumn::DateTime are not currently supported, datetimes are truncated at the second.
See "AUTHOR" in DBIx::Class and "CONTRIBUTORS" in DBIx::Class.
You may distribute this code under the same terms as Perl itself.
To install DBIx::Class, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DBIx::Class
CPAN shell
perl -MCPAN -e shell install DBIx::Class
For more information on module installation, please visit the detailed CPAN module installation guide.