Supported Java Versions - January 2012

Dear SQL Server developers and users:

Thank you for your ongoing support of the Microsoft JDBC Driver for SQL Server.

We have recently had some questions regarding which versions of Java are supported by the Microsoft JDBC Driver for SQL Server. We support Java 5.0 and Java 6.0 currently. We are looking forward to adding support for Java 7.0 in the future as well. Look for updates on this blog and our website.

In addition, there are known connection failure issues with Java 6 update 29, Java 6 update 30, and above. We are rolling out SQL Server patches for this issue, see this blog post for details.

There is also a known date issue with JRE 1.7, our 4.0 driver (production release) contains a fix for this issue. In addition, our 3.0 driver also corrects this issue via a hotfix

The Microsoft JDBC Driver does not yet support Java 7.0, if you wish to do some early non production testing of Java 7.0 with our driver, you may report Java bugs & issues to Java and Microsoft bugs & issues via our forums.

Thank you,
Shamitha Reddy
Program Manager Microsoft JDBC Driver for SQL Server

For technical support, please use our forums.

Comments

  • Anonymous
    November 07, 2011
    What, if anything, are you doing to fix the recent connection incompatibility problem between Java 6u29 and MS SQL Server 2008 r2?

  • Anonymous
    November 08, 2011
    @Guy Davis. Thanks for your question.  We are in touch with Oracle regarding the Java 6u29 issue and we are jointly looking at various options to address the connection issue.  We will post an update on this blog once we have completed the investigation. Thanks, Shamitha Reddy Program Manager Microsoft JDBC Driver for SQL Server

  • Anonymous
    November 12, 2011
    Guy Davis, many thanks for posting your comment. I spend many hours trying to solve this problem. Latest and greatest version of SQL Server and Java - and then there is nothing one can do to get it to work. I cannot believe this is not a seperate post on this blog. Microsoft: Going forward - exactly where can I find this sort of urgent information ?

  • Anonymous
    November 13, 2011
    Thank you Guy. We too spend most of the day looking for the problem.  So much time wasted. We switched to JTDS. Works just fine.

  • Anonymous
    November 18, 2011
    We are experiencing a similar issue with OpenJDK on RHEL 5.7. After upgrading to the latest 1:1.6.0.0-1.23.1.9.10.el5_7, the main thread of JBoss now hangs indefinitely during startup. As with Björn, JTDS does not have this issue. Here is a thread dump: "Thread-25" prio=10 tid=0x00002aaab4649800 nid=0x4117 runnable [0x0000000045d97000]   java.lang.Thread.State: RUNNABLE        at java.net.SocketInputStream.socketRead0(Native Method)        at java.net.SocketInputStream.read(SocketInputStream.java:146)        at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1647)        at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:3694)        - locked <0x00000000eb190fc8> (a com.microsoft.sqlserver.jdbc.TDSReader)        at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:5026)        at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:4978)        at com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(SQLServerConnection.java:1441)        at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)        at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)        - locked <0x00000000eb162cd8> (a java.lang.Object)        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:1446)        at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1907)        at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)        at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1893)        at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)        at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)        - locked <0x00000000eb162cd8> (a java.lang.Object)        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1045)        at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)        at com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:593)        at com.microsoft.sqlserver.jdbc.SQLServerPooledConnection.createNewConnection(SQLServerPooledConnection.java:60)        at com.microsoft.sqlserver.jdbc.SQLServerPooledConnection.<init>(SQLServerPooledConnection.java:42)        at com.microsoft.sqlserver.jdbc.SQLServerXAConnection.<init>(SQLServerXAConnection.java:27)        at com.microsoft.sqlserver.jdbc.SQLServerXADataSource.getXAConnection(SQLServerXADataSource.java:51)        at org.jboss.resource.adapter.jdbc.xa.XAManagedConnectionFactory.getXAManagedConnection(XAManagedConnectionFactory.java:449)        at org.jboss.resource.adapter.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:409)        at org.jboss.resource.connectionmanager.ManagedConnectionFactoryDeployment.createManagedConnection(ManagedConnectionFactoryDeployment.java:988)        at org.jboss.resource.connectionmanager.ManagedConnectionFactoryDeployment.open(ManagedConnectionFactoryDeployment.java:737)        at org.jboss.resource.connectionmanager.ManagedConnectionFactoryDeployment.getXAResources(ManagedConnectionFactoryDeployment.java:550)        at com.arjuna.ats.internal.jbossatx.jta.XAResourceRecoveryHelperWrapper.getXAResources(XAResourceRecoveryHelperWrapper.java:51)        at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:703)        - locked <0x00000000c4643710> (a java.util.LinkedList)        at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:201)        at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:799)        at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:412)

  • Anonymous
    December 07, 2011
    @ Guy Davis Wasted lot of time in debugging the connection incompatibility problem, thanks for the time saving question. Hope Microsoft updates the following page with incompatibility issues. msdn.microsoft.com/.../aa937724 This will save time.

  • Anonymous
    December 15, 2011
    We are not seeing problems on Java 6 update 30.  Can you validate that that version has a problem or not? If so, what is the problem.  We definitely cannot connect with 29.

  • Anonymous
    January 11, 2012
    Some customers may still experience issues with Java 6 update 30.  We will have an update soon for those customers.

  • Anonymous
    January 16, 2012
    The second link to the blog post is broken.  It has server-side include code in it: blogs.msdn.com/.../%22%3E%3Cspan%20style=&

  • Anonymous
    January 19, 2012
    @Tom Thanks for pointing out the broken link.  I have corrected the link and updated the blog with some new information.

  • Anonymous
    January 24, 2012
    A patch is available for SQL Server & Java 6 update 30.   See this blog for more details on SQL Server and Java 6 update 29 & update 30. blogs.msdn.com/.../patch-available-for-sql-server-and-java-6-update-30.aspx

  • Anonymous
    February 15, 2012
    Your link to "A patch is available for SQL Server & Java 6 update 30" is broken!

  • Anonymous
    March 01, 2012
    Link still broken.

  • Anonymous
    March 05, 2012
    Since this link: blogs.msdn.com/.../patch-available-for-sql-server-and-java-6-update-30.aspx Is not valid, is there a link to this patch that works?

  • Anonymous
    September 29, 2014
    What about connecting from a linux platform using various authentication methods?