Driver.getConnection se bloquea con el controlador SQLServer y Java 1.6.0_29

No sabía dónde escribir algo sobre esto y decidí hacerlo aquí.

Después de mucho tiempo depurando mi progtwig, pude descubrir que llamar a Driver.getConnection (string, string, string) bloquea el hilo que llama. Por qué (?), Realmente no sé, pero podría descubrir que esto sucede con java 1.6.0_29 y no con java 1.6.0_26.

Ambiente completo:

  • Sistema operativo: probado en redhat 6.1 y Windows 2008

  • Controlador: Controlador JDBC de MS SQL Server versión 3.0.1301.101

  • Versiones de Java: 1.6.0_26 y 1.6.0_29

Como dije anteriormente, funciona con 1.6.0_26.

¿Hay alguien que tenga alguna idea de lo que posiblemente está causando esto? Tal vez algún desarrollador? :pag

Atentamente,

Rui

Encontré exactamente el mismo comportamiento:

Utilizo tanto Oracle XE como MS SQL Server Express en mi PC con Windows 7 de 64 bits – Actualicé a Java 1.6.0_29 desde 1.6.0_27 (la versión x64) y me sorprendí al ver que los mismos progtwigs podían conectarse a Oracle XE pero no a MS SQL Server …

Remonté el problema a javax.sql.DataSource.getConnection() donde colgaba para siempre, porque esto es solo una interfaz, los controladores jdbc levantaron mi sospecha …

Estoy usando el controlador JDBC de MS SQL Server 3.0.1301.202 e incluso lo actualicé a SQL Server CTP (la “vista previa técnica de la comunidad”) 4.0.1722.1 porque sospecho que tiene que hacer algo con el controlador jdbc, pero no tiene éxito. : sigue colgando!

Mi solución fue rebajar a 1.6.0_27 y – bang: ¡todo estuvo bien otra vez!

Saludos cordiales Erich

Reproducido: el problema ocurre con la combinación de

  • Controlador SQL 2.0
  • Controlador SQL 3.0
  • Controlador SQL 4.0 CTP 3
  • jTDS SQL Driver 1.2.5

  • SQL Server 2008R2

  • Java 1.6.0_29

Cambie la versión del servidor SQL (probado en 2005 y 2008) o la versión de Java (1.6.0_27, 1.7.0_1), y el problema ya no ocurre.

Sistema operativo cliente / servidor: Windows 2008R2

Agregado a la base de datos de errores de Java y Oracle está trabajando en ello.

Cruzado en Microsoft MSDN Data Access Forum (respuesta aceptada: upgrade to java 7) y Oracle Java JDBC Forums (la información que se agrega aquí, también se agrega a la Base de datos de errores de Java).

Vea la solución aquí https://forums.oracle.com/forums/thread.jspa?messageID=9954398&tstart=0 http://social.msdn.microsoft.com/Forums/en/sqldataaccess/thread/97dce8fd-6487-4bca -80b0-492167db3e0d

“Aparentemente, esto está relacionado con el uso de SSL y puede mitigarse reemplazando el jsse.jar en el jre / lib con el de una versión anterior, por ejemplo, fuera de la versión 1.6.0_27. Me he confundido con 1.6.0_29 trabajando con MS JDBC y configuraciones anteriores de SQL Server ’05 que no están haciendo conexiones seguras. Todos los servidores más nuevos (SQL Server ’08 R2) fallan ya que requieren SSL y Java 1.6.0_29 no funciona usando jTDS o MS JDBC en este caso ”

Como un FYI, parece que hay un nuevo paso construir # 30 en la familia 1.6 que soluciona el problema: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7103725

Tengo el mismo problema, y ​​solo con java 1.6.0_29. Noté que si actualizo a 7.1 el problema desaparece

Estoy tan feliz de haber encontrado este foro. Tuve el mismo problema en la actualización (en realidad actualicé desde 1.6.0_22 a 1.7.1, luego bajé a 1.6.0_29, cuando ocurrió el problema.

Una cosa más que he notado: si uso 1.6.0_29 jre, falla, pero si uso 1.6.0_29 jdk, funciona … Pasé alrededor de un día tratando de entender por qué el eclipse (que estaba usando el jre) era fallando mientras myEclipse (que estaba usando el jdk) estaba funcionando …

¿Cómo se puede introducir un error en una versión tan tardía? (Estoy en el proceso de hacer una recomendación de versión de producción de Java).

El mismo problema aquí (SQLJDBC4, MsSQL 2008 R2, JDK1.6.0.29), pero después de actualizar a 1.6.0.30 se resolvió el problema …

Por lo tanto, debería ser un error crítico en el DriverManager de 1.6.0.29

La actualización a 1.6.0_30 también funcionó para mí. Microsoft ha publicado una statement anunciando la solución en el primer trimestre de 2012. Parece que es una vulnerabilidad de Java (BEAST).

Tenía el mismo problema exacto en el que jBoss colgaría en driver.getConnection (). Sin embargo, estaba usando jBoss EAP 5.1, java 1.6.0_37x64, SQL Server 2005 y jtds1.2.5 como mi controlador jdbc.

El trabajo que tuve que usar fue una configuración de jvm al inicio: -Djsse.enableCBCProtection = false y eso lo resolvió.

No considero esto una solución, sino más bien una solución en este punto.

Encontré un error: 7105007: el controlador JDBC de Microsoft y jTDS se rompió después de la actualización a 1.6.0_29 que era muy similar, pero tenía una causa diferente. Lo que fue interesante fue que apareció en los drivers MS y jtds.