2011-10-20 7 views
26

que no sabían dónde escribir algo acerca de esto y decidieron hacerlo aquí.cuelga Driver.getConnection utilizando el controlador de SQL Server y Java 1.6.0_29

Después de muuuucho tiempo depurar mi programa podría descubrir que llamar Driver.getConnection (cadena, cadena, cadena) se cuelga el subproceso de llamada. ¿Por qué (?), Realmente no lo sé, pero podría descubrir que esto sucede con Java 1.6.0_29 y no con Java 1.6.0_26.

entorno completo:

  • OS: Probado en tanto RedHat 6.1 y Windows 2008

  • Conductor: MS SQL Server JDBC Driver versión 3.0.1301.101

  • Versiones de Java: 1.6. 0_26 y 1.6.0_29

Como yo anteriormente d funciona con 1.6.0_26.

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

Saludos,

Rui

+0

Mismo problema aquí. Windows 7 x64, JDK 1.6.0_29, SQL Express 2008 R2 (10.50.1790), usando sqljdbc4.jar, y se cuelga en getConnection. Mientras que funcionó/​​funciona perfectamente con 1.6.0_24 para mí (no he probado otras versiones todavía, solo estas dos). – EdGruberman

+0

Reproducido con el servidor SQL 2008R2. SQL 2005 y 2008 funcionan normalmente. – NielsK

+3

El problema se resuelve en 1.6.0.30 – Michel

Respuesta

15

me encontré con exactamente el mismo comportamiento:

Puedo utilizar Oracle XE y MS SQL Server Express en mi Windows 7 64 bits PC - He actualizado a Java 1.6.0_29 de 1.6.0_27 (la versión x64) y se sorprendió al ver que los mismos programas cuando sea capaz de conectarse a Oracle XE pero no a MS SQL Server ...

que remontar hasta el problema de javax.sql.DataSource.getConnection() donde estaba colgando antes r - 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 actualicé a SQL Server CTP (la "vista previa técnica de la comunidad") 4.0.1722.1 porque mi sospecha era que tiene que hacer algo con el controlador jdbc, pero no tiene éxito: ¡todavía está pendiente!

Mi solución era hacer un downgrade a 1.6.0_27 y - Bang: todo estaba bien otra vez!

mejores deseos Erich

+0

Mismo problema, el mismo trabajo. –

+0

Agregué también un informe de errores en la base de datos de errores de Java. Pero desde que Oracle se hizo cargo, esto apenas funciona. No escuché nada de Oracle ni puedo encontrar otros errores en este momento ... –

+2

Entonces, ¿cómo se degrada el java a 1.6.0_xx en OSX Lion? – Kimi

1

que tienen el mismo problema de colgar, y sólo con Java 1.6.0_29. Me di cuenta de que si actualizo a 7.1 el problema desaparece

7

Reproducido: problema se produce con la combinación de

  • controlador de SQL 2.0
  • controlador de SQL 3.0
  • controlador de SQL 4.0 CTP 3
  • jTDS SQL del controlador 1.2.5

  • SQL Server 2008R2

  • Java 1.6.0_29

cambio ya sea la versión del servidor SQL (probado en 2005 & 2008) o la versión de Java (1.6.0_27, 1.7.0_1), y el problema no se produce más.

cliente/servidor OS: Windows 2008R2

añadido a la Java Bug Database y se está trabajando por Oracle.

Crossposted en Microsoft MSDN Data Access Forum (respuesta aceptada: actualice a 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).

1

Estoy muy 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) estaba fallando mientras myEclipse (que estaba usando el jdk) estaba funcionando. ?. ...

¿Cómo se puede introducir un error con un comunicado tan tardía (estoy en el proceso de hacer una versión de producción java recomendación)

4

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

"Aparentemente, esto está relacionado con el uso de SSL y puede ser mitigado mediante la sustitución de la jsse.jar en el jre/lib con eso de una versión anterior, por ejemplo fuera de la versión 1.6.0_27. El 1.6.0_29 me ha confundido al trabajar con MS JDBC y las 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. "

1

mismo problema aquí (SQLJDBC4, MsSQL 2008 R2, JDK1.6.0.29), pero después de actualizar a 1.6.0.30 problema fue resuelto ...

Así debería ser un error crítico en el DriverManager de 1.6.0.29

1

Actualizando a 1.6.0_30 también wo por mí. Microsoft ha lanzado a statement anunciando la solución en el primer trimestre de 2012. Parece que es una vulnerabilidad de Java (BEAST).

0

Tuve el mismo problema exacto en el que jBoss se bloquea 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 que sea una solución, sino más bien una solución temporal en este momento.

Encontré un error: 7105007 : Microsoft & jTDS JDBC driver broken after update to 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.

Cuestiones relacionadas