I have just uploaded DBD::ODBC 1.19 to CPAN where it should start appearing later today. 1.19 is the result of a lot of hard work in the previous 4/5 development releases to work around various ODBC driver bugs. Thank you to everyone one sent me test output and by all means continue to do so.
If you have FreeTDS then you should note that as a result of working around a bug in FreeTDS (which ignored all connection attributes after a double ;;) the Multiple Active Statement test is now run and currently hangs (it is in 20SqlServer.t) and there are other failures. I've done my best to workaround what I can but a make test for some versions of freeTDS (at least 0.82 and 0.6*) will hang - sorry. If you work on freeTDS and want to sort these issues out by all means get in contact with me. Below I've listed all the changes since the last full release. =head2 Changes in DBD::ODBC 1.19 April 2, 2009 Some minor diagnostic output during tests when running against freeTDS to show we know of issues in freeTDS. Fixed issue in 20SqlServer.t where the connection string got set with two consecutive semi-colons. Most drivers don't mind this but freeTDS ignores everything after that point in the connection string. Quieten some delete table output during tests. Handle connect failures in 20SqlServer.t in the multiple active statement tests. In 02simple.t cope with ODBC drivers or databases that do not need a username or password (MS Access). In 20SqlServer.t fix skip count and an erroneous assignment for driver_name. Change some if tests to Test::More->is tests in 02simple.t. Fix "invalid precision" error during tests with the new ACEODBC.DLL MS Access driver. Same workaround applied for the old MS Access driver (ODBCJT32.DLL) some time ago. Fix out of memory error during tests against the new MS Access driver (ACEODBC.DLL). The problem appears to be that the new Access driver reports ridiculously large parameter sizes for "select ?" queries and there are some of these in the unicode round trip test. Fixed minor typo in Makefile.PL - diagnostic message mentioned "ODBC HOME" instead of ODBCHOME. 12blob.t test somehow got lost from MANIFEST - replaced. Also changed algorithm to get a long char type column as some MS Access drivers only show SQL_WLONGVARCHAR type in unicode. Added diagnostic output to 02simple.t to show the state of odbc_has_unicode. =head2 Changes in DBD::ODBC 1.18_4 March 13, 2009 A mistake in the MANIFEST lead to the rt_43384.t test being omitted. Brian Becker reported the tables PERL_DBD_39897 and PERL_DBD_TEST are left behind after testing. I've fixed the former but not the latter yet. Yet another variation on the changes for rt 43384. If the parameter is bound specifically as SQL_VARCHAR, you got invalid precision error. Thanks to Øystein Torget for finding this and helping me verify the fix. If you attempt to insert large amounts of data into MS Access (which does not have SQLDescribeParam) you can get an invalid precision error which can be worked around by setting the bind type to SQL_LONGVARCHAR. This version does that for you. 08bind2.t had a wrong skip count. 12blob.t had strict commented out and GetTypeInfo was not quoted. Also introduced a skip if the execute fails as it just leads to more obvious failures. In dbdimp.c/rebind_ph there was a specific workaround for SQL Server which was not done after testing if we are using SQL Server - this was breaking tests to MS Access. =head2 Changes in DBD::ODBC 1.18_2 March 9, 2009 Added yet another workaround for the SQL Server Native Client driver version 2007.100.1600.22 and 2005.90.1399.00 (driver version 09.00.1399) which leads to HY104, "Invalid precision value" in the rt_39841.t test. =head2 Changes in DBD::ODBC 1.18_1 March 6, 2009 Fixed bug reported by Toni Salomäki leading to a describe failed error when calling procedures with no results. Test cases added to 20SqlServer.t. Fixed bug rt 43384 reported by Øystein Torget where you cannot insert more than 127 characters into a Microsoft Access text(255) column when DBD::ODBC is built in unicode mode. Martin -- Martin J. Evans Easysoft Limited http://www.easysoft.com