This release brings one single change: there was a bug in the 64-bit version, so if your Perl process allocated more than 2 GB of memory, Win:32::SqlServer failed to instantiate. This bug has been fixed.
Apart from that, there are some updates in the README about known issues about building from sources.
It's called 2.004b, because there are no changes to the module itself. The sole changes are in the test scripts so that they run without errors against SQL 2008 RTM. There are also some changes in the build instructions to adapt for the changes from CTP6 to RTM.
The big thing for this release is support for new features in SQL 2008, detailed below. At the time, SQL 2008 is still in beta, RTM is scheduled for Q3 of 2008. Thus I need to add the caveat that there may be issues with Win32::SqlServer 2.004 and the RTM release. Rest assured that I will monitor this, and relase a new version of Win32::SqlServer if required.
Another big thing is support for Perl 5.10; Win32::SqlServer now ships with binaries for ActiveState builds 10xx.
Changes for SQL 2008:
To have full access to these features, you need to use SQLNCLI10 provider that ships with SQL 2008. Win32::SqlServer will use this provider by default if it is installed.
date
, time
,
datetime2
and datetimeoffset
.
See the section Date and Time
Data Ttypes. There are some incompatibilities in that
Win32::SqlServer previous silently accepted if there was garbage at the
end of an ISO-formatted date string. Not so any more.hierarchyid
,
geometry
and geography
are
recognised, but apart from the name, Win32::SqlServer has no particular
support for these; they are handled as any other CLR UDT.Other changes and bugfixes:
['nvarchar', $value]
varbinary
and varchar
and 4000 for nvarchar
. If the value exceeds this length,
Win32::SqlServer uses MAX. The reason for this change is that the parameter
list is part of the statement that is in SQL Server's plan cache. By using a
consistent parameter length, Win32::SqlServer reduces the cache bloat. For
char/nchar/binary, Win32::SqlServer still infers the length from the actual
value when none is explicitly provided, but now issues a warning to inform
you that this is not good practice.$Win32:SqlServer::VERSION
and
$Win32::SqlServer::Version
are now
documented.rowversion
as an alternative to timestamp
, this was not the case.
This has been corrected.:consts
did
not include the constants for command states.undef
, an empty string or a string of blanks, the
batch is accepted without errors. In 2.003, you got an error for undef
and an empty string, but not for a string with or more spaces.To build Win32::SqlServer from sources, you now need Visual Studio 2005 (or the .Net 2.0 SDK), and the SDK for SQL Server Native Client 10 that ships with SQL 2008. See the README for the source distribution for further details.
bigint
data type is
handled differently on 64-bit.
$colinfostyle
, that permits you
to specify that you want information about the columns in the result set
included in the return structure. You can opt get only names, only position,
or get a hash with detail information.$provider
.sql_variant
value had
certain base types.Fixed two problems which prevented Win32::SqlServer to run under ASP:
Renamed the module to Win32::SqlServer from the original name MSSQL::OlleDB to comply with requirements from the maintainers of the Perl module list (and because the original name was more cute than practical). No other changes.
This is the first release of MSSQL::OlleDB. It has version number 2.000 since it is a successor module to MSSQL::Sqllib.