This discussion is archived
1 2 3 Previous Next 30 Replies Latest reply: Jan 6, 2012 3:43 PM by jschellSomeoneStoleMyAlias RSS

MS SQL JDBC does not work with 1.6.0_29?

895966 Newbie
Currently Being Moderated
After updating to 1.6.0_29 I am unable to connect to MS SQL JDBC 2.0 or 3.0 from JBoss 4.2.2.GA InternalManagedConnectionPool. This works properly with 1.6.0_24 and 1.6.0_27. I did not try 1.6.0_28.

The call to InternalManagerConnectionPool.createManagedConnection(Subject, ConnectionRequestInfo) never returns.

Has anyone else had this problem?
  • 1. Re: MS SQL JDBC does not work with 1.6.0_29?
    896001 Newbie
    Currently Being Moderated
    We have the same problem. The activity monitor of SQL Server shows the spid, but it never returns.
    It is independent of the version of the jdbc-Driver. It's only dependent of the java version. 1.6.0_27 and prior worked, 1.6.0_29 doesn't work any more.
  • 2. Re: MS SQL JDBC does not work with 1.6.0_29?
    jschellSomeoneStoleMyAlias Expert
    Currently Being Moderated
    InternalManagedConnectionPool.
    That could be the problem.

    I suggest creating a test app, something that does NOT run in JBoss and with ONLY uses the MS jdbc driver.
    See if that works with the version of Java you are having problems with.

    Then remove the above JBoss feature and see if the driver works in JBoss.

    And also try using the jTDS driver.
  • 3. Re: MS SQL JDBC does not work with 1.6.0_29?
    895966 Newbie
    Currently Being Moderated
    It is not an option to remove the connection pooling. That is just a consequence of using a datasource. I guess this is really a problem for the MS SQL Server JDBC team, now that it has been confirmed by someone else. In our case it is not really an option to use a different driver for SQL Server, nor is it of any value to determine whether the driver works without the connection pooling since we are not using it that way.

    This seems to be strictly a SQL Server JDBC problem (2.0 or 3.0). It is not an issue with Oracle ojdbc14 driver, which still work with 1.6.0_29.
  • 4. Re: MS SQL JDBC does not work with 1.6.0_29?
    895966 Newbie
    Currently Being Moderated
    For what it's worth: I did not try a test program per se, but the SQL JDBC plugin that I use for IDEA also hangs when I run IDEA with 1.6.0_29. I imagine that this plugin does not use any connection pooling since it is just a simple pass-through application for executing queries.

    So it would appear that this problem is not related to connection pooling but is more fundamental.

    Edited by: user11256882 on Oct 25, 2011 7:16 AM
  • 5. Re: MS SQL JDBC does not work with 1.6.0_29?
    896134 Newbie
    Currently Being Moderated
    We are having the same issue on a plain tomcat 6 and 7 installation with jdk 1.6.0.29 64bit. I have also found the following forum on microsoft about this:
    http://social.msdn.microsoft.com/Forums/en/sqldataaccess/thread/97dce8fd-6487-4bca-80b0-492167db3e0d

    I suggest if we hammer that one, that either Oracle or Microsoft will fix this soon :)
  • 6. Re: MS SQL JDBC does not work with 1.6.0_29?
    896001 Newbie
    Currently Being Moderated
    We use the Microsoft jdbc-driver and have the problem, too
  • 7. Re: MS SQL JDBC does not work with 1.6.0_29?
    896149 Newbie
    Currently Being Moderated
    Reproduced the same problem by creating a basic JDBC-connection from Java. Connection hangs indefinitely until thread is stopped.

    Problem occurs with combination of

    - SQL driver 2.0
    - SQL driver 3.0
    - SQL driver 4.0 CTP 3

    - SQL server 2008R2

    - Java 1.6.0_29

    Change either SQL server version (to 2005 & 2008) or Java version (to 1.6.0_27), and the problem doesn't occur anymore.

    Client / Server OS: Windows 2008R2



    Stacktrace at moment of thread stop:

    at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.6.0_29]
    at java.net.SocketInputStream.read(Unknown Source) ~[na:1.6.0_29]
    at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1647) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:3694) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:5026) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:4978) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(SQLServerConnection.java:1441) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:1446) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1907) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1893) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1045) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700) ~[jdbc4-driver-3.0.jar:na]
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842) ~[jdbc4-driver-3.0.jar:na]
    at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.6.0_29]
    at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.6.0_29]

    See: [Microsoft Data Access Forum|http://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/thread/97dce8fd-6487-4bca-80b0-492167db3e0d]

    Edited by: user12149963 on Oct 25, 2011 7:43 AM
  • 8. Re: MS SQL JDBC does not work with 1.6.0_29?
    jschellSomeoneStoleMyAlias Expert
    Currently Being Moderated
    user11256882 wrote:
    It is not an option to remove the connection pooling. That is just a consequence of using a datasource.
    Perhaps not for you but one can use a direct jdbc connection in a JEE container. And I suspect that you can introduce another pool as well.
    I guess this is really a problem for the MS SQL Server JDBC team, now that it has been confirmed by someone else.
    I suppose if you can ignore the version of java that has the problem then it isn't a problem. If you can't and you do not have an avenue into MS that provides a possible timely fix then it would be a problem.
    In our case it is not really an option to use a different driver for SQL Server,
    Kind of curious why that would be.
    nor is it of any value to determine whether the driver works without the connection pooling since we are not using it that way.
    Of course the point of doing that is to localize where the problem is.
    This seems to be strictly a SQL Server JDBC problem (2.0 or 3.0). It is not an issue with Oracle ojdbc14 driver, which still work with 1.6.0_29.
    Nor would I expect it to be. I wouldn't expect it to be a problem with the jTDS driver either. But if it was it might suggest that there is something wrong in the VM rather than the driver.
  • 9. Re: MS SQL JDBC does not work with 1.6.0_29?
    896214 Newbie
    Currently Being Moderated
    I can confirm that jTDS fails just as MS supplied JDBC drivers fail using JVM 1.6.0_29 but both drivers work just fine using 1.6.0_27.
  • 10. Re: MS SQL JDBC does not work with 1.6.0_29?
    895966 Newbie
    Currently Being Moderated
    Since I posted this there have been multiple confirmations that the problem exists in a direct JDBC connection, so my comments are moot. We provide and support a product to a customer base that uses it in various operational environments that we do not control, but in which it is specified to function. What I meant was that the option to use one driver or another or one type of connection pooling or another was not in our control.
  • 11. Re: MS SQL JDBC does not work with 1.6.0_29?
    103698 Newbie
    Currently Being Moderated
    Me too. My application only works fine in 1.6.0_27, but fails in 1.6.0_29! I don't know which one (either Microsoft SQL Server JDBC driver or Oracle JDK) should have a fix patch.
  • 12. Re: MS SQL JDBC does not work with 1.6.0_29?
    896515 Newbie
    Currently Being Moderated
    Replace jsse.jar in jre/lib from an earlier version and it will work again. BTW why has Oracle stopped feeding the source changes from each release to mercurial? The last one I see is b23. It would have been nice to be able to look at the source again.
  • 13. Re: MS SQL JDBC does not work with 1.6.0_29?
    896590 Newbie
    Currently Being Moderated
    I have same problems for JDK 1.6.0_29, I cannot get the connection on the call DriverManager.getConnection(), and the execution thread hung on the line.

    JDK 1.6.0_29, SQL JDBC Driver 3.0,

    MS SQL Server 9.0.3353, Working
    MS SQL Server 10.0.4064, Not working
    MS SQL Server 10.0.4311, Not working

    After I switch back to JDK 1.6.0_29, it works for every SQL servers.
  • 14. Re: MS SQL JDBC does not work with 1.6.0_29?
    jschellSomeoneStoleMyAlias Expert
    Currently Being Moderated
    user11256882 wrote:
    We provide and support a product to a customer base that uses it in various operational environments that we do not control, but in which it is specified to function. What I meant was that the option to use one driver or another or one type of connection pooling or another was not in our control.
    Pretty sure I covered all of possible answers to that in my previous response.
1 2 3 Previous Next

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points