NAME¶
DBIx::Class::Storage::DBI::ADO::Microsoft_SQL_Server - Support for Microsoft SQL
Server via DBD::ADO
SYNOPSIS¶
This subclass supports MSSQL server connections via DBD::ADO.
DESCRIPTION¶
The MSSQL specific functionality is provided by
DBIx::Class::Storage::DBI::MSSQL.
EXAMPLE DSN¶
dbi:ADO:provider=sqlncli10;server=EEEBOX\SQLEXPRESS
CAVEATS¶
identities¶
"_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.
truncation bug¶
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.
Please report problems with this driver and send patches.
LongReadLen¶
"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.
binary data¶
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.
uniqueidentifier columns¶
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¶
Fractional seconds with DBIx::Class::InflateColumn::DateTime are not currently
supported, datetimes are truncated at the second.
FURTHER QUESTIONS?¶
Check the list of additional DBIC resources.
COPYRIGHT AND LICENSE¶
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.