Notes: The jTDS Project has released version 1.2 of the open source JDBC driver for Microsoft SQL Server and Sybase. jTDS 1.2 is a major bugfix release, improving over the very successful jTDS 1.1. A few new features, such as support for Sybase ASE 15, SQL Server 2005 and improved exceptions also made it into the release. New features: o Support for Sybase ASE 15 o Improved support for SQL Server 2005 varchar(max) and varbinary(max) o Complete handling of cursor exceptions and downgrading o Better handling of cancels and timeouts o Configurable socket timeout o Subclasses of basic JDBC types recognized as setObject() values Major bug fixes (out of over 30 fixes): o Statement pool memory leak o Java 1.5 BigDecimal problems o Possible synchronization problems o setAutoCommit() behavior not according to specification o getTimestamp() returns invalid value after calling getString() o Cursor opens fails when cursor threshold <> -1 o iso_1 charset and Sybase o "All pipe instances are busy" not handled properly o SSL fails with SQL Server 2005 o Sybase: insert UTF8 string fails when length is 255 Make sure to check the changelog for detailed listings of the bugfixes and new features. jTDS is the most performant JDBC driver for both Microsoft SQL Server and Sybase. It is a complete implementation of JDBC 3.0, it passes the J2EE 1.3 certification and Hibernate test suites and is the preferred SQL Server/Sybase driver for JBoss, Hibernate, Atlassian JIRA and Confluence, DbVisualizer and Compiere. For more information on jTDS see http://jtds.sourceforge.net/ The release can be downloaded from: https://sourceforge.net/project/showfiles.php?group_id=33291
Changes: Changes from jTDS 1.1 ===================== 11/03/2005 - Alin Sinpalean o Applied Mike's fix for bug [1346086] Problem with DATABASE name change on Sybase. o Applied patch [1250393] modify getJdbcType() to handle subclass of basic JDBC types, submitted by Joel Schneider (cognophile). o Corrected a minor DatabaseMetaData error: supportsTransactionIsolationLevel returned true for TRANSACTION_NONE or any invalid value. 10/31/2005 - Alin Sinpalean o Corrected bug in JtdsDatabaseMetaData.getBestRowIdentifier(). Statement was closed, causing errors when using the returned result set. 10/27/2005 - Mike Hutchinson o Fixed bug "[1305275] Cursor opens fails when cursor threshold <> -1" by amending MSCursorResultSet. o Fixed bugs "[1283472] Unable to cancel statement with cursor resultset" and "[1323363] Deadlock Exception not reported (SQL Server)" by amending JtdsStatement executeSQL() and executeSQLQuery(). o Fixed a bug in handling output parameters that occurs when invoking remote stored procedures. The TdsCore.tdsOutputParamToken method was amended. o Implement RFE "[1289687] configurable socket setSoTimeout()". This also offers a solution to bug "[1297306] Network problem can cause jTDS hang-up". o Fixed bug "[1246270] Closing a statement after cancelling it throws an exception" by amending JtdsStatement.close(). o [SQL Server 2005] Database meta data has been improved so that getColumns() can distinguish between text and varchar(max), image and varbinary(max) etc. Changes were required to JtdsDatabaseMetaData.getColumns() and a new method getMSTypeName was added to TdsData. A test case has been added to Tds8Test. o [Sybase ASE 15] Added support for new data types unitext, bigint and unsigned smallint, int and bigint. This enhancement required changes to TdsCore, TdsData and ResponseStream. New test cases have been added to Tds5Test. o [Sybase ASE 15] With ASE 15 the default packet size is now 2048 bytes. The ConnectionJDBC and DefaultProperties classes have been amended so that the server default is used when there is no packetSize connection property present. o [Documentation] Modified faq.html to document bug [1260507] CallableStatement Exception and the new soTimeout connection property. o [Documentation] Modified typemap.html to document the new Sybase datatypes. 10/20/2005 - Alin Sinpalean o Corrected bug [1293415] Charset iso_1 is broken for Sybase. For Sybase the server's iso_1 charset maps to the standard ISO-8859-1, rather than Cp1252 as it does for MS SQL Server. o Applied Mike's fix for bug [1330118] SSL fails with SQL 2005 September CTP. o Applied Mike's fix for bug [1329765] Pseudo column ROWSTAT is back with SQL 2005 (September CTP). 10/18/2005 - Alin Sinpalean o Corrected bug [1327029] setFetchSize give incorrect error message. o Corrected bug [1296482] setAutoCommit() behaviour. According to section 10.1.1 of the JDBC 3.0 spec (which takes precedence over the API documentation) the transaction should only be committed if the auto-commit mode is _changed_ during a transaction. 09/27/2005 - David Kilzer o Added info to the FAQ about the jTDS implementation of javax.naming.spi.ObjectFactory. 09/26/2005 - David Kilzer o Applied Mike's patch for bug [1299147] Latest change does not compile with java 1.5. This patch cleans up the use of checkOpen() in a number of methods in JtdsCallableStatement, JtdsPreparedStatement, JtdsStatement and JtdsResultSet. 09/23/2005 - David Kilzer o Fixed compilation on Java 1.5 in MessagesPropertiesUnitTest. Thanks to Mike Hutchinson for the patch in bug [1299147] Latest change does not compile with java 1.5. 09/22/2005 - David Kilzer o Added MessagesPropertiesUnitTest to ensure every prop.* property has a matching prop.desc.* property and vice-versa. 09/21/2005 - David Kilzer o Applied patch for bug [1253127] Improved decimal peformance for MSSQL SP4 by Mike Hutchinson. This patch also fixes bug [1236078] Procedure doesn't get called for some BigDecimal values (in Java 1.5). 09/20/2005 - David Kilzer o Removed RequestStream.setMaxPrecision() and added a 'maxPrecision' argument to the RequestStream constructor. This value should never change during the life of the RequestStream, and thus should be set in the constructor. Updated SharedSocket.getRequestStream() method. o Refactored SharedSocket constructor to take only a single argument of type ConnectionJDBC2. Added some package-private getter methods to ConnectionJDBC2. o Replaced SharedNamedPipe.instance() method with a public constructor. o Simplified SharedNamedPipe and SharedLocalNamedPipe constructors by passing in a ConnectionJDBC2 object instead of a laundry list of data values. Added more package-private getter methods to the ConnectionJDBC2 class. Moved SharedNamedPipe.calculateBufferSize() to Support.calculateNamedPipeBufferSize(). Changed hard-coded buffer values in SharedLocalNamedPipe constructor to use the value returned from Support.calculateNamedPipeBufferSize(). 09/09/2005 - David Kilzer o Applied Mike's patch to fix a small bug with getProcedureColumns() in JtdsDatabaseMetaData and SQL Server 7.0 where the RETURN_VALUE parameter was not prefixed with an '@' character. 09/07/2005 - David Kilzer o Extracted code from the original Support.linkException() method to accept generic Exception objects. Provided linkException() convenience methods for SQLException and SQLWarning classes. Linked IOException thrown from ConnectionJDBC2.createNamedPipe() for connection timeouts using the new method. o Applied Mike's fix for bug [1273988] Insert UTF8 string fails when length is 255 (ASE12.5.2). 09/06/2005 - David Kilzer o Applied patch for bug [1277000] "All pipe instances are busy" error not handled properly. Added TestAllPipInstancesAreBusy tool class which is used to manually reproduce the error. Updated "loginTimeout" entry on FAQ. Added more use of Support.linkException() in ConnectionJDBC2 constructor. o Created new Support.isWindowsOS() method to consolidate duplicate code. Added SupportUnitTest class to test new method. 08/30/2005 - David Kilzer o Updated FAQ to reflect new behavior of the namedPipe parameter since patch [1122494] SQL Server Authentication & Named pipes was applied in jTDS 1.0.3. 07/27/2005 - Alin Sinpalean o Corrected bug [1245775] Column type inconsistency when useLOBs=false. 07/11/2005 - Alin Sinpalean o Applied Mike's fix for bugs [1234531] Dates before 01/01/1900 broken due to DateTime value markers and [1235845] getTimestamp() returns illegal value after getString(). 07/05/2005 - Alin Sinpalean o Applied Mike's fix for bug [1232733] setFetchSize(0) causes exception. o Final fix for bug [1229636] Memory Leak in Prepared Statements. 07/04/2005 - Alin Sinpalean o Corrected some build issues with Java 1.3. 07/01/2005 - Alin Sinpalean o Applied yet another patch for bug [1229636] Memory Leak in Prepared Statements, with a minor change. This seems to finally fix the caching and memory leaks; handles are always cached, even if maxStatements=0, retrieved from the connection cache and the statement list of handles is implemented by a Set, to make sure no memory leaks due to duplicates occur. 06/30/2005 - Alin Sinpalean o Corrected bug [1229636] Memory Leak in Prepared Statements, based on Mike's initial patch. o Realized that my initial fix will not work with maxStatements=0 (as opposed to Mike's) so made some more changes. o Corrected synchronization issue in ConnectionJDBC2.removeStatement() for the ConnectionJDBC2.statements instance variable. 06/29/2005 - Alin Sinpalean o Corrected a bug with prepare handles caching where the usage count was decremented twice when a statement was closed, causing premature release of handles. 06/28/2005 - Alin Sinpalean o Applied Mike's additional patch for bug [1222199] Delayed exception thrown in statement close. "Execution cancelled" exceptions are now only thrown if the cancel was caused by a call to Statement.cancel(); if a timeout is the cause, the exception is masked as an exception was already thrown when the execution timed out. o Corrected a memory leak caused by the prepared statement's handles collection being implemented through an ArrayList rather than a Set. The same handle would be added again and again on each execution and never removed until the statement was closed. 06/27/2005 - Alin Sinpalean o Per Mike's suggestion, changed the SQLState of query cancelled exceptions to HY008 instead of S1008. 06/23/2005 - Alin Sinpalean o Corrected bug [1226210] {fn dayofweek()} depends on the language. Fix submitted by Xavier Poinsard. 06/22/2005 - Alin Sinpalean o Corrected bug [1222199] Delayed exception thrown in statement close. In the current implementation Statement.close() does throw any server side errors (to make sure the user doesn't miss any) but Connection.close() ignores them. o Applied Mike's fix for bug [1222238] Unable to connect to Sybase 10 with TDS 5. 06/21/2005 - Alin Sinpalean o Applied Mike's fix for bug [1222205] getParameterMetaData returns not implemented.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use