jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver for Microsoft SQL Server (6.5, 7, 2000 and 2005) and Sybase (10, 11, 12, 15). jTDS is based on FreeTDS and is currently the fastest production-ready JDBC driver for SQL Server and Sybase.
jTDS is 100% JDBC 3.0 compatible, supporting forward-only and scrollable/updateable ResultSets, concurrent (completely independent) Statements and implementing all the DatabaseMetaData and ResultSetMetaData methods.
Quite a few of the commercial JDBC drivers out there are based on jTDS (or FreeTDS), even if they no longer acknowledge this.
jTDS has been tested with virtually all JDBC-based database management tools and is the driver of choice for most of these (recommended for DbVisualizer and SQuirreL SQL, distributed with Aqua Data Studio and DataDino).
jTDS is also becoming a common choice for enterprise-level applications: it passes both the J2EE 1.3 certification and Hibernate test suites, and is recommended for JBoss, Hibernate, Atlassian JIRA and Confluence and Compiere.
jTDS is free software. jTDS is released under the terms of the GNU LGPL, giving you not only the posibility to debug and tweak it to your own liking but also to use it in and distribute it with your free or commercial applications.
The other "free" choices, the JDBC-ODBC bridge and Microsoft's own JDBC driver are not actually free. If you encounter an issue with any of them you won't be able to fix it yourself and response times from both Microsoft and Sun are anything but short. Also, both of them lack functionality (the Microsoft driver implements JDBC 2.0, while the bridge is just a JDBC 1.0 implementation) and have serious stability problems: the bridge crashes the JVM if the ODBC driver has any problem and Microsoft just has no intention of really supporting Java/JDBC.
jTDS is also the most performant JDBC driver for both SQL Server and Sybase. We have an older benchmark result but we strongly encourage you to download any benchmark published by commercial JDBC driver vendors and see for yourself. Here are a couple of benchmarks you could use: JNetDirect's JDBC Performance Benchmark and i-net Software's BenchTest 2.1 for MS SQL Server.
Anyway, just give it a spin.
What's New in This Release:
· Support for Sybase ASE 15
· Improved support for SQL Server 2005 varchar(max) and varbinary(max)
· Complete handling of cursor exceptions and downgrading
· Better handling of cancels and timeouts
· Configurable socket timeout
· Subclasses of basic JDBC types recognized as setObject() values
Major bug fixes (out of over 30 fixes):
· Statement pool memory leak
· Java 1.5 BigDecimal problems
· Possible synchronization problems
· setAutoCommit() behavior not according to specification
· getTimestamp() returns invalid value after calling getString()
· Cursor opens fails when cursor threshold -1
· iso_1 charset and Sybase
· "All pipe instances are busy" not handled properly
· SSL fails with SQL Server 2005
· Sybase: insert UTF8 string fails when length is 255