jTDS JDBC Driver 1.2 released

Discussions

News: jTDS JDBC Driver 1.2 released

  1. jTDS JDBC Driver 1.2 released (19 messages)

    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

    jTDS is a complete implementation of JDBC 3.0, passing 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.

    Make sure to check the changelog for detailed listings of the bugs fixed and new features. The source code and binaries can be downloaded from SourceForge.

    Threaded Messages (19)

  2. jTDS JDBC Driver 1.2 released[ Go to top ]

    Most JDBC drivers are poor.

    This one is GREAT!

    .V
  3. jtds rocks![ Go to top ]

    I've been really satisfied with the jTDS driver. I'm quite impressed of its reliability and performance. Sure there are other JDBC drivers for SQL Server, mostly commercial ones, but jTDS is the best I've come across.
  4. very good driver[ Go to top ]

    really a very good driver, we had many headhackes with MS drivers and are now using jTDS with satisfaction.
    If I may suggest I'd like to see something like a 'compatibility' statement extended to:
    - various OS platforms
    - various SQLServer versions

    e.g.: is it OK to install SQLServer 2000 Enterprise SP4 over a Win2003 Server?
    service packs compatibility is a serious issue under some conditions.
  5. very good driver[ Go to top ]

    As far as I can tell there are no compatibility issues between jTDS and particular SQL Server/OS versions. The only issues come from bugs in particular SQL Server service packs but they are completely internal to SQL Server.

    Of course every time a new version comes out there is a possibility that some new features take a while to become available through jTDS but on the other hand not a lot of users jump on those features right away.
  6. jTDS JDBC Driver 1.2 released[ Go to top ]

    What's the point? Sybase and MS have their own JDBC drivers. In my recent projects I used MS driver for SQL Server and it worked ok for me.
  7. What's the point?[ Go to top ]

    What's the point? Well, for one Microsoft's JDBC driver is slow, buggy, and doesn't implement all of JDBC 3.0. jTDS is fast, high-quality, and fully implemented. I, for one, am very glad I don't have to depend on Microsoft to provide me with a decent JDBC implementation. Lets face it, it's not exactly in Microsoft's best interest to provide a top-notch Java implementation of anything. Java isn't exactly a priority in Redmond. Other than that, I guess there isn't a point.
  8. I forgot, the other point is that jTDS is fully supported by Hibernate. The Microsoft driver is not.
  9. I forgot, the other point is that jTDS is fully supported by Hibernate. The Microsoft driver is not.

    Not only in hibernate, but also in hibernate synchronizer. I've found out that if you try to reverse-engineer PostgreSQL, Oracle or MySQL databases with it, you get very poor hibernate maps. But if you implement your schema in SQL Server 2000 and reverse-engineer it with jTDS, you get a very accurate mapping and you have to make almost no corrections. Provided that hibernate makes almost RDBMS-independent apps, I can happily develop against my "MS-SQL Server 2000 Developer" and deploy on anything I want to (currently PostgreSQL).
  10. JTDS lets you connect to SQL Server using native Windows domain authentication. The Microsoft-supplied JDBC driver for SQL Server only lets you use SQL Server Authentication. That means that you can have transparent single-sign-on with JTDS but not with the Microsoft driver.

    It is easier to download and install JTDS than it is to download and install the Microsoft driver.

    JTDS is actively developed and supported by people that want JDBC access to SQL Server to work well. The Microsoft-supplied driver is just a stripped-down, OEM version ofthe DataDirect driver; it is (barely) supported by a company (Microsoft) that actively discourages JDBC and Java altogether.

    JTDS is open-source, the Microsoft-supplied driver is not.

    FWIW, My companies server only allows native domain authentication, which made the native Microsoft driver a non-option.
  11. JTDS lets you connect to SQL Server using native Windows domain authentication.
    You can? Please share!
  12. Read the README.SSO file[ Go to top ]

    I have only used it with a Windows client though. Connect to the server with a JDBC URL like "jdbc:jtds:sqlserver://server-name/DATABASE" (no username, no password). As the README.SSO file says "This is done using a native (Windows-only) library, ntlmauth.dll," which must be in the path.
  13. Read the README.SSO file[ Go to top ]

    There's also the possibility of providing Windows credentials instead of SQL Server user name and password. For this you have to specify a domain property in the URL:

    jdbc:jtds:sqlserver://server-name/DATABASE;user=WIN_USER;password=WIN_PASSWD;domain=WIN_DOMAIN

    The SSO approach will obviously only work from Windows (as it uses a Windows DLL) but this will work from any OS (I have used it from Linux). Chech the jTDS FAQ for detailed information on the domain property and the list of all other URL properties.
  14. Read the README.SSO file[ Go to top ]

    I see your title now too. Sadly, I'm not much on directions. :)
  15. What's the point?[ Go to top ]

    Well, for one Microsoft's JDBC driver is slow, buggy, and
    >> doesn't implement all of JDBC 3.0.

    My impression is that M$ intentionally made a slow and buggy JDBC driver for MSSQL so ppl will be lured to use .net.
  16. What's the point?[ Go to top ]

    <blockquoteMy impression is that M$ intentionally made a slow and buggy JDBC driver for MSSQL so ppl will be lured to use .net.
    Actually their recently released driver is much, much better. I don't know how it compares to jTDS but it's certainly not "intentionally slow and buggy".

    There's a very good reason for that, I think: Microsoft may not like Java much, but they can see that there's a good market for databases to sit behind Java applications. Of course they'd prefer you to use .Net, but if you do use Java then they still want you to use SQL Server instead of Oracle.
  17. What's the point?[ Go to top ]

    The old (SQL Server 2000) JDBC driver from Microsoft was a very old DataDirect driver with ony a few dozen minor bugs fixed in over 4 years. That says something about Microsoft's commitment to Java.

    Their recently released driver is OEMed from JNetDirect. Microsoft looks much more determined to make this work (and it's definitely already better than the old driver) but it still has a lot of bugs (in my testing I found serious concurrency issues and even data consistency problems). It's difficult to say how much effort will Microsoft put into it, but the main reason while we keep working on jTDS is that for the moment we think it's the better choice overall; there's no financial reward.
  18. What's the point?[ Go to top ]

    Nice work Alin. jTDS continues to improve and making a great JDBC driver is a non-trivial activity -- this driver has made a lot of SQL Server customers happy.

    Everyone looking for the release version of the new Microsoft driver will have to wait a few weeks more (JAN '06) -- we had some good feedback from our Beta 2 customers that we need to accomodate in the product.

    -shelby

    Shelby Goerlitz
    Microsoft, SQL Server
  19. What's the point?[ Go to top ]

    <blockquoteMy impression is that M$ intentionally made a slow and buggy JDBC driver for MSSQL so ppl will be lured to use .net.
    Actually their recently released driver is much, much better. I don't know how it compares to jTDS but it's certainly not "intentionally slow and buggy".There's a very good reason for that, I think: Microsoft may not like Java much, but they can see that there's a good market for databases to sit behind Java applications. Of course they'd prefer you to use .Net, but if you do use Java then they still want you to use SQL Server instead of Oracle.
    Thanks. I would rather use a SQL Server user/pwd (no need to create a network user) because most of my apps don't need db access by the users. But I do have a SQL server DBA who likes to just give trusted access. This way I don't have to explain to him why I need a sql user/pwd.
  20. jTDS and SQL2K Source Code[ Go to top ]

    Can anybody post source code for jTDS and SQL Server connections.
    TIA,
    Mohan