Notas de la versión de Microsoft JDBC Driver para SQL Server

En este artículo se enumeran las versiones del controlador JDBC Driver de Microsoft para SQL Server. Se nombran y describen los cambios en cada una de las versiones.

12.6

Descarga de Microsoft JDBC Driver 12.6.1 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.6.1 para SQL Server (tar.gz)

Número de versión: 12.6.1
Fecha de publicación: 20 de febrero de 2024

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 12.6

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC Driver 12.6. GitHub, 12.6.0
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR del paquete 12.6 adquieren su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-12.6.0.jre11.jar del paquete 12.6 se debe usar con Java 11 (o una versión posterior).
Compatible con Java Development Kit (JDK) versión 21.0, 17.0, 11.0 y 1.8. Microsoft JDBC Driver 12.6 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 21.0, además de JDK 17.0, 11.0 y 1.8.

Lanzamientos de la versión 12.6

Número de versión: 12.6.1
Fecha de publicación: 20 de febrero de 2024

Problemas corregidos en la versión 12.6.1:

  • Se ha corregido la sintaxis de escape 'EXEC' para CallableStatements

Descarga de Microsoft JDBC Driver 12.6.1 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.6.1 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Número de versión: 12.6.0
Fecha de publicación: 31 de enero de 2024

Descarga de Microsoft JDBC Driver 12.6.0 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.6.0 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Nuevas características de la versión 12.6

Característica Detalles
Compatibilidad con Java 21 Ahora el controlador es compatible con Java Development Kit (JDK) versión 21.0, además de JDK 17.0, 11.0 y 1.8.
Permitir la llamada de procedimientos almacenados directamente mediante el uso de la nueva propiedad de conexión useFlexibleCallableStatements El controlador ahora llama a los procedimientos almacenados directamente, en lugar de encapsularlos en exec sp_executesql, lo cual simplifica los procedimientos y mejora el rendimiento.
Adición de propiedad de cadena de conexión useDefaultJaasConfig Cuando se establece con el valor true, permite la autenticación Kerberos sin configuración externa adicional.
Adición de propiedad de cadena de conexión useDefaultGSSCredential Cuando se establece con el valor true, permite al controlador crear GSSCredential en nombre del usuario si se usa la GSS-API nativa para la autenticación Kerberos.
Adición de propiedad de cadena de conexión calcBigDecimalPrecision Cuando se establece con el valor true, permite al controlador calcular la precisión de las entradas BigDecimal.
Adición de nuevos registradores con nombre para reintentos de apertura de conexión y reconexiones de resistencia de conexión inactiva Los reintentos de conexión abierta usan la categoría de registro de redirección y se pueden usar en el nivel de registro FINE. Las reconexiones de resistencia de conexión inactiva utilizan la categoría de registro de resistencia y se pueden usar en los niveles de registro FINE o FINER.

Cambios en la versión 12.6

Cambio Detalles
Cambio de la forma de comprobar el JDK de IBM para evitar problemas con entornos OSGi Se ha cambiado de solo comprobar el nombre del proveedor a comprobar el nombre del proveedor y la máquina virtual.
Sincronización correcta de todas las llamadas a MSAL Impide que el controlador realice llamadas adicionales y valide cuadros de diálogo innecesarios.
Adición de errores adicionales que deben producir RMFAIL Se agregaron casos adicionales, "Conexión restablecida por el nodo del mismo nivel" y "Se agotó el tiempo de espera de la conexión", que deben producir RMFAIL.
Cambio en la forma de usar las marcas de tiempo en BulkCopy Se cambió el comportamiento de BulkCopy de serializar y deserializar objetos de marca de tiempo a usar los objetos directamente, lo que conduce a una mejora del rendimiento al usar un gran número de marcas de tiempo.
Cambio de socketTimeout para garantizar que sea menor que loginTimeout Anteriormente socketTimeout actuaba independientemente de loginTimeout, lo que producía un comportamiento potencialmente confuso que hacía que el controlador tardara más de lo esperado en agotar el tiempo de espera. Esto se ha corregido para que socketTimeout siempre tenga un límite superior igual al de loginTimeout.
Ajuste de la memoria caché de preparedStatement para que se borre antes de cada ejecución La memoria caché de PreparedStatement no se borraba correctamente, lo que, además de la infrecuencia, podía provocar problemas de memoria a lo largo del tiempo. Este cambio garantiza que la memoria caché se borre antes de cada ejecución, lo que impide la acumulación de objetos.
Actualización a las dependencias más recientes de Bouncycastle Actualice de bcprov-jdk15on y bcpkix-jdk15on a bcprov-jdk18on y bcpkix-jdk18on, ya que las primeras ya no se actualizan.
Dependencias actualizadas Se han actualizado las versiones de dependencia de azure-identity, azure-security-keyvault-keys, bouncycastle, h2 y msal.

Correcciones en la versión 12.6

Corrección Detalles
Corrección de una comprobación de valores NULL que faltaba para e.getCause() Se corrigió un problema por el que, cuando una excepción no tiene ninguna causa, la propia excepción se pasa en su lugar, lo que impide que se pierda. Problema de GitHub n.º 2299.
Corrección de bloqueos en IOBuffer para evitar problemas de interbloqueo que podrían surgir Se corrigió la implementación de bloqueos en IOBuffer, específicamente en relación con disableSSL, para evitar interbloqueos que podrían surgir en determinadas situaciones. Problema de GitHub n.º 2288. Problema de GitHub n.º 2265.
Corrección de un problema con las marcas de tiempo y la copia masiva para la inserción por lotes Se corrigió que la zona horaria no se aplicaba correctamente a las marcas de tiempo cuando se usaba la inserción por lotes con Bulkcopy. Problema de GitHub n.º 2271.
Corrección de captadores y establecedores ausentes para useBulkCopyForBatchInsert Se corrigió un problema por el que el comportamiento no era el mismo entre SQLServerConnection y SQLServerConnnectionPoolProxy, cuando debería serlo, porque a useBulkCopyForBatchInsert le faltaba un captador y establecedor en el último. Problema de GitHub n.º 2245.
Se corrigió la consulta de metadatos de Bulkcopy para hacer uso de los datos almacenados en caché en caso de estar disponibles. Se corrigió un problema que provocaba que, a pesar de que los datos se almacenaran en caché, se realizaban llamadas a los metadatos de columna en cada ocasión. Problema de GitHub n.º 2224.
Se corrigió una comprobación de escala BigDecimal que faltaba para los valores de TVP. - Se corrigió un problema por el que, al escribir valores de fila TVP, los valores de entrada no se filtraban correctamente para la escala BigDecimal. Problema de GitHub n.º 2222.
Corrección de schemaPattern en SQLServerDatabaseMetadata para garantizar el escape correcto Se corrigió un problema por el que schemaPattern era el único patrón que no se escapaba correctamente en SQLServerDatabaseMetadata. Problema de GitHub n.º 2186.
Corrección de un problema por el que se devolvía un SQLState nulo al intentar convertir una fecha en un valor long Se corrigió un problema por el que, cuando xopenStates se establece en true, el controlador no devuelve el código de estado SQL-99 esperado en una instancia determinada. Problema de GitHub n.º 2167.
Corrección del error getMetaData para las consultas que contienen TOP Se corrigió un problema por el que, al usar el calificador TOP en una consulta, el controlador devuelve un error relacionado con ParameterMetadata. Problema de GitHub n.º 1776.
Corrección de un problema de análisis de nombres de tabla al usar inserciones por lotes Se corrigió un problema por el que las instrucciones de inserción con espacios en blanco ausentes funcionaban correctamente en casos normales, pero no al usar inserciones por lotes. Problema de GitHub n.º 1534.
Corrección de un problema con ParameterMetadata e índices no válidos Se corrigió un problema con ParameterMetadata, que no comprobaba correctamente un índice 0 no válido y generaba excepciones. Problema de GitHub n.º 1490.
Corrección de comportamiento de ActivityID en ActivityCorrelator Se ha corregido la forma en que se definía y usaba ActivityID para que esté más en línea con el comportamiento de otros controladores de Microsoft.
Corrección para omitir las columnas calculadas al usar Bulkcopy para la inserción por lotes Se corrigió el comportamiento de BulkCopy para omitir las columnas calculadas y permitir inserciones por lotes, cuando anteriormente no se podía realizar la inserción y se devolvía un error que citaba esas columnas calculadas.
Corrección del comportamiento del controlador relativo a las firmas al usar el almacén de claves de Java y Azure Key Vault Se corrigió un problema por el que la firma no se verificaba correctamente al usar el almacén de claves de Java, además de la adición de una nueva API para firmar los metadatos de clave maestra de columna (y devolver la firma generada) para su uso con el almacén de claves de Java y Azure Key Vault.
Corrección de la conversión errónea de getObject() de DateTimeOffset Se corrigió un problema al llamar a ResultSet.getObject() en una columna DATETIMEOFFSET; con LocalDate/LocalTime/LocalDateTime como argumento de clase, el valor de la columna se convertía en la zona horaria local.

Versiones anteriores

12.4

Descarga de Microsoft JDBC Driver 12.4.2 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.4.2 para SQL Server (tar.gz)

Número de versión: 12.4.2
Fecha de publicación:27 de octubre de 2023

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 12.4

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC Driver 12.4. GitHub, 12.4.0
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR en el paquete 12.4 adquieren su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-12.4.0.jre11.jar del paquete 12.4 se debe usar con Java 11 (o una versión posterior).
Compatible con Java Development Kit (JDK) versión 20.0, 17.0, 11.0 y 1.8. Microsoft JDBC Driver 12.4 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 20.0, además de con JDK 17.0, 11.0 y 1.8.

Lanzamientos de la versión 12.4

Número de versión: 12.4.2
Fecha de publicación: 21 de septiembre de 2023

Problemas corregidos en la versión 12.4.2:

  • Revierte la comprobación de IBM al proveedor y agregó una comprobación de nombre de máquina virtual adicional para quitar falsos positivos

Descarga de Microsoft JDBC Driver 12.4.2 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.4.2 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Número de versión: 12.4.1
Fecha de publicación: 24 de agosto de 2023

Cambios en la versión 12.4.1:

  • Ahora se aplica el espacio automático a los nombres de parámetros SQL preparados.

Problemas corregidos en la versión 12.4.1:

  • Se ha corregido la consulta de metadatos getUserName en contexto de seguridad suplantado en Azure SQL Database.
  • Se ha corregido la detección de IBM JDK.
  • Se ha corregido un error por el que no se comprueba la firma para el almacén de claves de Java y se ha agregado la API signColumnMasterkeyMetadata a JKS y AKV.
  • Se ha agregado la localización de cadenas de error que faltaban en la versión original.

Descarga de Microsoft JDBC Driver 12.4.1 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.4.1 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Número de versión: 12.4.0
Fecha de publicación: 31 de julio de 2023

Descarga de Microsoft JDBC Driver 12.4.0 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.4.0 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Nuevas características de la versión 12.4

Característica Detalles
Compatibilidad con Java 20 Ahora el controlador es compatible con Java Development Kit (JDK) versión 20.0, además de con JDK 17.0, 11.0 y 1.8.
Se ha agregado la propiedad de cadena de conexión de devolución de llamada del token de acceso Complementa la devolución de llamada del token de acceso implementada anteriormente, ya que permite pasar el nombre de la clase de implementación de devolución de llamada en la cadena de conexión.
Se ha agregado compatibilidad con ActiveDirectoryServicePrincipalCertificate Mejora en la experiencia del usuario al admitir ActiveDirectoryServicePrincipalCertificate desde la biblioteca de identidades de Azure a mediante la opción de conexión authentication=ActiveDirectoryServicePrincipalCertificate.
Se ha agregado otro caso para XAER_RMFAIL. El controlador todavía devolvía XAException con el error XAER_RMERR en algunos casos. Se ha agregado un caso adicional al control de errores de XA para solucionarlo.

Cambios en la versión 12.4

Cambio Detalles
Se ha actualizado la lógica de autenticación federada para usar la caché de tokens persistente al capturar el token Esta actualización mejora el rendimiento en escenarios de captura de tokens y facilita la compatibilidad con versiones futuras de MSAL.
Permitir que el asociado de conmutación por error se intente si hay un tiempo de espera de socket Permite un intento de reconexión con un asociado de conmutación por error proporcionado después de un tiempo de espera de socket.
Rendimiento mejorado al compilar definiciones de tipo de parámetro Al calcular previamente los tamaños de matrices y generadores de cadenas que se usan en buildParamTypeDefinitions y al quitar asignaciones de cadenas innecesarias, se mejora el rendimiento en el que se usa este método.
Se ha cambiado serverName enviado en el paquete LOGIN para incluir instanceName serverName ahora se anexa al final de instanceName en paquetes LOGIN.
Se ha actualizado el método supportTransaction para reflejar si el servidor admite transacciones. Se ha corregido un problema por el que connection.rollback no funcionaba para la base de datos de Azure Synapse, ya que la sintaxis usada en supportTransaction no era compatible con Azure Synapse.
Se han actualizado las llamadas sp_cursor para que se indiquen los nombres de tabla en lugar de una cadena vacía. Se ha solucionado un problema por el que se recibían actualizaciones incoherentes de filas ResultSet al actualizar tablas de uno a varios.
Se ha actualizado supportsLikeEscapeClause() para comprobar Azure Data Warehouse. Se ha corregido un problema por el que supportsLikeEscapeClause devolvía true para AzureDW a pesar de que no se admitía explícitamente.
Se ha actualizado a la especificación JDBC de OSGi más reciente Actualice de osgi.compendium 5.0.0 a osgi.service.jdbc 1.1.0 para seguir cumpliendo la especificación JDBC 8.1.0 de OSGi.
Dependencias actualizadas Se han actualizado las versiones de dependencia de azure-identity, azure-security-keyvault-keys, gson, h2 y msal.

Correcciones en la versión 12.4

Corrección Detalles
Se han corregido problemas de rendimiento y memoria presentes con BigDecimal Revierte todos los cambios, desde la versión 12.2, con respecto a BigDecimal. Esta corrección soluciona los problemas de rendimiento que se detectaron. Los usuarios deben tener cuidado al usar BigDecimal para evitar los problemas de truncamiento que se han mencionado anteriormente. Problema de GitHub n.º 2176.
Se ha corregido la validación de certificados de servidor para encrypt=strict Corrección para asegurarse de que el certificado de servidor se valida correctamente en los casos en los que encrypt está establecido en strict. Problema de GitHub n.º 2174.
Se ha corregido lockTimeout que no surte efecto cuando el modo de redireccionamiento está establecido en Azure DB Se ha corregido cuando lockTimeout se establece, ya que solo se debe aplicar a las conexiones desde fuera de Azure y no desde Azure, como se hacía anteriormente. Problema de GitHub n.º 2110.
Se ha corregido un número elevado de subprocesos al usar findSocketUsingThreading Corrige un problema por el que una excepción no detectada provocaba una interrupción en las llamadas de suspensión ascendentes, lo que causaba que los reintentos se producían demasiado rápido. Problema de GitHub n.º 2104.
Se ha corregido la condición de carrera del temporizador compartido Se ha corregido una posible condición de carrera en la clase SharedTimer. Problema de GitHub n.º 2085.
Se ha corregido un error con procedimientos almacenados y la devolución metaQuery con resultado cero. Se ha corregido un problema por el que, si metaQuery no devolvía ningún resultado después de la ejecución de un procedimiento almacenado, devolvería un error de parámetro indefinido. Problema de GitHub n.º 2063.
Se han corregido inserciones por lotes no válidas cuando las columnas proporcionadas en inserciones difieren en orden del esquema de tabla Se ha corregido un problema por el que el uso de useBulkCopyForBatchInsert=true puede provocar la mezcla de columnas y datos no válidos. Problema de GitHub n.º 1992.
Se ha corregido el control de errores de XA para volver a generar XAER_RMFAIL en lugar de XAER_RMERR. Se ha corregido un problema por el que el controlador devolvía XAException con código de error XAER_RMERR en caso de conmutación por error de SQL Server desde el nodo principal al nodo en espera al confirmar una transacción XA. Problema de GitHub n.º 1432.
Correcciones del comportamiento del identificador de actividad y del identificador de cliente para mantener la coherencia con la especificación JDBC Se ha corregido el comportamiento del identificador de actividad para mantenerse igual durante la vida útil del proceso, enviar siempre el identificador de actividad en PRELOGIN y la secuencia de incremento para cada nueva conexión. También se ha corregido el identificador de cliente para conservarse durante la vida del proceso.

12,2

Descarga de Microsoft JDBC Driver 12.2.0 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.2.0 para SQL Server (tar.gz)

Número de versión: 12.2.0
Publicación: 31 de enero de 2023

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 12.2

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC Driver 12.2. GitHub, 12.2.0
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR del paquete 12.2 reciben su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-12.2.0.jre11.jar del paquete 12.2 se debe usar con Java 11 (o una versión posterior).
Compatible con Java Development Kit (JDK) versión 19.0, 17.0, 11.0 y 1.8. Microsoft JDBC Driver 12.2 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 19.0, además de con JDK 17.0, 11.0 y 1.8.

Lanzamientos de la versión 12.2

Descarga de Microsoft JDBC Driver 12.2.0 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 12.2.0 para SQL Server (tar.gz)

Número de versión: 12.2.0
Publicación: 31 de enero de 2023

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Nuevas características de la versión 12.2

Característica Detalles
Compatibilidad con Java 19 Ahora el controlador es compatible con Java Development Kit (JDK) versión 19.0, además de con JDK 17.0, 11.0 y 1.8.
Se ha agregado compatibilidad con la devolución de llamada de token de acceso Permite que el código de cliente registre una devolución de llamada en un origen de datos que devuelve un token de acceso.
Se ha agregado compatibilidad con DefaultAzureCredential Mejora en la experiencia del usuario al admitir DefaultAzureCredential y IntelliJCredential desde la biblioteca de identidades de Azure a través de la opción de conexión authentication=ActiveDirectoryDefault.
Se ha agregado una nueva propiedad de conexión datetimeParameterType para especificar el tipo de datos que se va a usar para los parámetros de fecha y marca de tiempo. Se ha agregado una propiedad datetimeParameterType de conexión que permite a los usuarios especificar explícitamente conversiones a datetime o datetime2, lo que proporciona mayor compatibilidad en bases de datos más antiguas.

Cambios en la versión 12.2

Change Detalles
El controlador ahora es compatible con Loom Reemplaza synchronized(foo) por bloqueos reentrantes, lo cual mejora el rendimiento al usar Loom.
La autenticación de la identidad administrada usa la biblioteca de identidades de Azure Reemplaza el código integrado del controlador para obtener y almacenar en caché tokens de identidad administrada con la biblioteca de identidades de Azure. Este cambio agrega compatibilidad con la identidad administrada para más servicios de Azure sobre lo que el controlador admitía anteriormente.
MSAL se ha convertido en una dependencia opcional. msal4j se ha vuelto a convertir en una dependencia opcional.
Dependencias actualizadas Se han actualizado las versiones de dependencia de azure-identity, azure-security-keyvault-keys, antlr4-runtime, bcprov-jdk15on, bcpkix-jdk15on y msal.
Actualización para comprobar dinámicamente la clase ExtendedSocketOption. Se ha corregido un error por el que si faltaba ExtendedSocketOptions se devolvía NoClassDefFoundError.

Correcciones en la versión 12.2

Fix Detalles
Se ha corregido el estado null de SQL y el código de error cero cuando se produce una excepción de base de datos. Se ha corregido un problema por el que, después de un error de SQL, el código de error y el estado de SQL mostraban información incorrecta. Problema de GitHub n.º 2015.
Se ha corregido la recuperación de conexión inactiva para que unprocessedResponseCount no se disminuya demasiado. unprocessedResponseCount solo se debe disminuir cuando doneToken.isFinal es true, se disminuía en cualquier caso. Problema de GitHub n.º 1971.
Se ha corregido la conexión al host de SQL Server incorrecto. Corrige un problema de simultaneidad en el que, cuando un controlador se conectaba a varios hosts de SQL Server, se podía establecer una conexión con el host incorrecto. Problema de GitHub n.º 1964.
Se ha corregido un updateCount incorrecto. El recuento de actualizaciones incorrecto puede producirse en casos true/false para enablePrepareOnFirstPreparedStatementCall y para prepexec/prepare. Problema de GitHub n.º 1961.
Se han corregido problemas de simultaneidad en los métodos de ofuscación de cifrado y descifrado para la contraseña del almacén de confianza. Se han agregado bloqueos para cifrar o descifrar en la ofuscación de contraseñas del almacén de confianza. Problema de GitHub n.º 1939.
Se ha corregido el problema de mayúsculas y minúsculas en el nombre de la cuenta de caché Corrige un problema por el que los nombres de cuenta se enviaban a la Biblioteca de autenticación de Microsoft con distinción entre mayúsculas y minúsculas, lo cual provocaba solicitudes de inicio de sesión repetidas. Problema de GitHub n.º 1923.
Se ha corregido el error de cancelación de consultas Se ha corregido un error de cancelación de consultas que se producía de forma intermitente en las consultas por lotes. Problema de GitHub n.º 1896.
Se han corregido errores de instrucciones invocables. Se han corregido errores de instrucciones invocables "índice fuera de los límites" y "parámetro no definido". Problema de GitHub n.º 1871.
Se ha corregido la comprobación del token DONE al recuperar conjuntos de resultados Se ha agregado un caso no contemplado a la corrección anterior de DONE_ERROR, donde el controlador omitía el estado DONE_ERROR del servidor como resultado de una sesión eliminada. Problema de GitHub n.º 1846. Problema de GitHub n.º 1505.
Se ha asegurado que batchParamValues se borra en todos los casos al ejecutar un lote. Se ha corregido un problema que provocaba que los lotes no se borraran correctamente al usar la actualización masiva. Problema de GitHub n.º 1767.
Se ha corregido la precisión enviada al usar BigDecimal Corrige un problema por el que, de forma predeterminada, se enviaban valores BigDecimal con precisión máxima, lo cual podía dar lugar a redondeos decimales no deseados. Problema de GitHub n.º 1489. Problema de GitHub n.º 942
Se ha corregido el protocolo de atestación NONE para que funcione en todos los casos Se ha corregido la lógica subyacente del protocolo de atestación NONE para funcionar en todos los casos, no solo en casos específicos.
Se ha corregido una condición de carrera en SecureStringUtil. Se ha corregido una condición de carrera en SecureStringUtil durante la creación de SecureStringUtil.

11.2

Descarga de Microsoft JDBC Driver 11.2.3 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 11.2.3 para SQL Server (tar.gz)

Número de versión: 11.2.3
Publicación: 12 de enero de 2023

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 11.2

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC 11.2. GitHub, 11.2.0
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR del paquete 11.2 reciben su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-11.20.jre17.jar del paquete 11.2 se debe usar con Java 17.
Compatible con Java Development Kit (JDK) versión 18.0, 17.0, 11.0 y 1.8. Microsoft JDBC Driver 11.2 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 18.0, además de con JDK 17.0, 11.0 y 1.8.

Lanzamientos de la versión 11.2

Número de versión: 11.2.3
Publicación: 12 de enero de 2023

Problemas corregidos en 11.2.3:

  • Se ha corregido el estado null de SQL y el código de error cero cuando se produce una excepción de base de datos.
  • Se han corregido números de actualizaciones incorrectos cuando se produce un tiempo de espera en las consultas por lotes.
  • Se ha corregido una fecha de expiración incorrecta del token al usar Azure Functions.
  • Se ha corregido la conexión al host de SQL Server incorrecto.

Número de versión: 11.2.2
Fecha de publicación: 15 de diciembre de 2022

Problemas corregidos en 11.2.2:

  • Se ha corregido un error de resistencia de conexión inactiva
  • Borrado de la memoria caché de identificadores de instrucción preparada en reconexión inactiva
  • Se ha corregido el error de índice de instrucciones invocables fuera de los límites
  • Se ha corregido la comprobación del token DONE al recuperar conjuntos de resultados
  • Se ha corregido el error intermitente: "Error interno durante el descifrado: error de coincidencia de etiquetas"

Descarga de Microsoft JDBC Driver 11.2.2 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 11.2.2 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Número de versión: 11.2.1
Publicación: 8 de septiembre de 2022

Problemas corregidos en 11.2.1:

  • com.microsoft.azure:msal4j se ha convertido en una dependencia opcional
  • Se ha corregido un error de cancelación de consultas que se producía de forma intermitente en las consultas por lotes

Descarga de Microsoft JDBC Driver 11.2.1 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 11.2.1 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Número de versión: 11.2.0
Publicación: 4 de agosto de 2022

Descarga de Microsoft JDBC Driver 11.2.0 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 11.2.0 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Nuevas características de la versión 11.2

Característica Detalles
Compatibilidad con Java 18 Ahora el controlador es compatible con Java Development Kit (JDK) versión 18.0, además de con JDK 17.0, 11.0 y 1.8.
Se ha agregado compatibilidad con IPv6 configurable La preferencia de dirección IP de la aplicación cliente ahora se puede establecer entre IPv4 e IPv6. Use la nueva ipaddresspreference configuración de conexión para controlar el comportamiento. Para obtener más información, vea Establecimiento de las propiedades de conexión.
Se ha agregado compatibilidad para la selección de métodos de preparación Se ha agregado una nueva propiedad de cadena de conexión prepareMethod para alternar entre el uso de sp_prepare y sp_prepexec. Use la nueva prepareMethod configuración de conexión para controlar el comportamiento. Para obtener más información, vea Establecimiento de las propiedades de conexión.
Se ha agregado la propiedad de conexión serverCertificate para encrypt=strict. Se ha agregado una propiedad serverCertificate que es la ruta de acceso al archivo de certificado de servidor (en formato PEM). Se usa para la validación cuando se usa el cifrado establecido en strict. Para obtener más información, vea Establecimiento de las propiedades de conexión.
Llamadas a metadatos de parámetros de caché La información relacionada con el cifrado de las consultas con parámetros ahora se puede almacenar en caché. Consulte Usar Always Encrypted con el controlador JDBC.
Se ha agregado compatibilidad con la inserción masiva de valores GUID NULL. Resuelve un problema por el que la inserción de valores NULL no era posible en el modo de inserción masiva.
Se ha agregado compatibilidad para el almacenamiento en caché de identidades administradas Se ha permitido el almacenamiento en caché de tokens obtenidos de los puntos de conexión de identidad administrada.

Cambios en la versión 11.2

Change Detalles
Compatibilidad con TDS 8.0 mediante la adición de la opción "strict" para cifrar la propiedad de conexión CAMBIO IMPORTANTE Cifrar la propiedad de conexión es ahora de tipo cadena.
Se ha agregado la comprobación de ALPN negociado Comprueba que Application-Layer Protocolo se negocia correctamente.
Se ha agregado una opción para enclaveAttestationProtocol. Se ha agregado la opción para el NONE protocolo para que se puedan usar enclaves seguros sin atestación.
Permitir que serverName se vuelva a ordenar en la cadena de conexión Compruebe que el campo serverName de la cadena de conexión no tiene un signo igual.
Se ha agregado un mejor registro de errores para la falta de la biblioteca MSAL. Se ha agregado un mensaje de error cuando falta MSAL en el caso de ActiveDirectoryServicePrincipal.
Se ha refactorizado el tiempo de espera de resistencia de conexión inactiva para usar SharedTimer existente. Se ha mejorado la eficacia con la resilencia de conexión inactiva mediante SharedTimer existente.
Se envía TDS versión 8 en Login7 cuando está en modo estricto. Se ha agregado información adicional al paquete Login7 mediante la inclusión de TDS versión 8 cuando encrypt=strict.
Se ha cambiado el valor predeterminado loginTimeout a 30s. Se ha cambiado el valor predeterminado loginTimeout de 15 segundos a 30 segundos para permitir más tiempo para que se resuelvan las conexiones iniciales antes de que se agote el tiempo de espera.
msal4j la dependencia ahora es explícita Se agregó una dependencia explícita para msal4j (era una dependencia transitiva en versiones anteriores).
Dependencias actualizadas Se han actualizado las versiones de dependencias de azure-identity, azure-security-keyvault-keys.

Correcciones en la versión 11.2

Fix Detalles
Se ha corregido el error causado por preparedMethod=prepare. Se ha corregido un error intermitente de identificador de instrucción preparada NULL causado por sp_prepare cuando se usa con consultas por lotes Problema de GitHub n.º 1880.
Se ha corregido un error por el que establecer varias conexiones en paralelo puede producir una excepción IndexOutOfBoundsException. Se ha corregido la condición de carrera con addressList, lo que puede dar lugar a IndexOutOfBoundsException al establecer varias conexiones problema de GitHub #1852.
Se ha corregido un error en la aserción al cancelar la instrucción "insert into" Se ha corregido un problema por el que el controlador podía declararse al cancelar una instrucción Problema de GitHub n.º 1849.
Se ha corregido una excepción que no se producía según lo esperado cuando se elimina la sesión en la base de datos SQL Se ha agregado la comprobación de DONE_ERROR token de estado, que puede producirse a partir de una sesión eliminada en el problema de GitHub del servidor #1846.
Intervalo de reintento de identidad administrada Se ha corregido el intervalo de reintento de identidad administrada para volver a desactivarlo correctamente el problema de GitHub n.º 1765.
Se ha eliminado una llamada adicional a executeCommand() dentro de connectionCommand() Se ha eliminado una llamada adicional a executeCommand, lo que provocaba problemas de rendimiento para algunos usuarios Problema de GitHub n.º 1669.
Se ha corregido un error de token desconocido con selectMethod. Se ha corregido un error 0xA3 de token desconocido cuando se usa el cursor selectMethod con la clasificación de datos.

10.2

Descarga de Microsoft JDBC Driver 10.2.3 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 10.2.3 para SQL Server (tar.gz)

Número de versión: 10.2.3
Publicación: 12 de enero de 2023

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Número de versión: 10.2.2
Fecha de publicación: 13 de diciembre de 2022

Descarga de Microsoft JDBC Driver 10.2.2 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 10.2.2 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Número de versión: 10.2.1
Publicada en mayo de 12, 2022.

Descarga de Microsoft JDBC Driver 10.2.1 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 10.2.1 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 10.2

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC 10.2. GitHub, 10.2.0
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR del paquete 10.2 reciben su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-10.20.jre17.jar del paquete 10.2 se debe usar con Java 17.
Compatible con Java Development Kit (JDK) versión 17.0, 11.0 y 1.8. Microsoft JDBC Driver 10.2 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 17.0, además de con JDK 11.0 y 1.8.

Lanzamientos de la versión 10.2

Número de versión: 10.2.3
Publicación: 12 de enero de 2023

Problemas corregidos en 10.2.3:

  • Se han corregido números de actualizaciones incorrectos cuando se produce un tiempo de espera en las consultas por lotes.
  • Se ha corregido una fecha de expiración incorrecta del token al usar Azure Functions.
  • Se ha corregido el estado null de SQL y el código de error cero cuando se produce una excepción de base de datos.

Número de versión: 10.2.2
Fecha de publicación: 13 de diciembre de 2022

Problemas corregidos en 10.2.2:

  • Borrar la caché de instrucciones preparadas en reconexiones de resistencia de conexión inactiva
  • Corrección para establecer las opciones ampliadas de KeepAlive
  • Se ha corregido un problema por el que el controlador podía declararse al cancelar una instrucción
  • Se ha corregido el error de índice de instrucciones invocables fuera de los límites
  • Se ha corregido un problema por el que no se comprueba si hay errores de token DONE, de modo que se omiten las excepciones
  • Se ha corregido el error de cancelación de consultas

Número de versión: 10.2.1
Publicada en mayo de 12, 2022.

Problemas corregidos en 10.2.1:

  • Se ha cambiado el tiempo de espera de resistencia de conexión inactiva para usar SharedTimer existente
  • Se ha corregido el intervalo de reintento de autenticación de identidad administrada para volver a desactivarse exponencialmente de forma correcta.
  • Se ha eliminado la llamada innecesaria a executeCommand() dentro de connectionCommand()

Número de versión: 10.2.0
Fecha de publicación: 31 de enero de 2022

Descarga de Microsoft JDBC Driver 10.2.0 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 10.2.0 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Nuevas características de la versión 10.2

Característica Detalles
Compatibilidad con Java 17 Ahora el controlador es compatible con Java Development Kit (JDK) versión 17.0, además de con JDK 11.0 y 1.8.
Compatibilidad con Resistencia de conexión inactiva Ahora se admite la Resistencia de conexión inactiva. Consulte Resistencia de conexión inactiva.
Proveedores de almacén de claves multiusuario El controlador ahora admite proveedores de almacén de claves en el nivel de conexión e instrucción para admitir escenarios de varios usuarios. Consulte Usar Always Encrypted con el controlador JDBC.

Cambios en la versión 10.2

Change Detalles
Cifrado predeterminado en true CAMBIO IMPORTANTE El cifrado TLS está habilitado de forma predeterminada.
Validación de certificados cuando encrypt = false CAMBIO IMPORTANTE Cuando encrypt = false, pero el servidor requiere cifrado, el certificado se valida en función de la configuración de conexión trustServerCertificate.
aadSecurePrincipalId y aadSecurePrincipalSecret en desuso Las propiedades de conexión aadSecurePrincipalId y aadSecurePrincipalSecret han quedado en desuso. Use nombre de usuario y contraseña en su lugar.
Se ha quitado la API getAADSecretPrincipalId CAMBIO IMPORTANTE La API getAADSecretPrincipalId se ha quitado por motivos de seguridad.
Compatibilidad con SQL_Variant Se ha agregado compatibilidad con el tipo de datos SQL_Variant al recuperar DateTimeOffset.
Aleatoriedad sin bloqueo en Linux Ha habido una actualización para usar una llamada aleatoria sin bloqueo al generar un GUID para paquetes de enclave.
Resolución de CNAME para dominios kerberos Se ha agregado la resolución de CNAME cuando se especifica un dominio kerberos.
Dependencias actualizadas Se han actualizado las versiones de dependencias de azure-identity, azure-security-keyvault-keys, gson y bouncycastle.

Correcciones en la versión 10.2

Fix Detalles
TDSParser atascado en TDS_COLMETADATA Corregido: TDSParser se atascaba en TDS_COLMETADATA, lo que podría dar lugar a un error para determinadas consultas. Problema de GitHub n.º 1661

9,4

Descarga de Microsoft JDBC Driver 9.4.1 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 9.4.1 para SQL Server (tar.gz)

Número de versión: 9.4.1
Fecha de publicación: 7 de diciembre de 2021

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 9.4

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC 9.4. GitHub, 9.4.0
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR del paquete 9.4 reciben su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-9.4.0.jre16.jar del paquete 9.4 se debe usar con Java 16.
Compatible con Java Development Kit (JDK) versión 16.0, 11.0 y 1.8. Microsoft JDBC Driver 9.4 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 16.0, además de con JDK 11.0 y 1.8.

Lanzamientos de la versión 9.4

Número de versión: 9.4.1
Fecha de publicación: 07 de diciembre de 2021

Problemas corregidos en 9.4.1:

  • Se ha corregido un posible error cuando el controlador detecta TDS_COLMETADATA no admitido
  • Se ha corregido la conversión de LocalDateTime y LocalTime a String en la copia masiva.

Número de versión: 9.4.0
Publicación: 30 de julio de 2021

Descarga de Microsoft JDBC Driver 9.4.0 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 9.4.0 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Nuevas características de la versión 9.4

Característica Detalles
Compatibilidad con Java 16 Ahora el controlador es compatible con Java Development Kit (JDK) versión 16.0, además de con JDK 11.0 y 1.8.
Compatibilidad con la conexión de replicación Ahora se admiten conexiones de replicación. Vea Establecimiento de las propiedades de conexión.
Dominio de autenticación Kerberos personalizado El controlador ahora admite la especificación de un dominio kerberos de autenticación personalizado al usar la autenticación Kerberos. Vea Establecimiento de las propiedades de conexión.
Reintento de conexión de apertura Se han agregado las propiedades connectRetryCount y connectRetryInterval para configurar reintentos automáticos al abrir las conexiones. Vea Establecimiento de las propiedades de conexión para obtener más información sobre estas propiedades nuevas.

Cambios en la versión 9.4

Change Detalles
Proveedor de Azure Key Vault Se pueden abrir varias conexiones sucesivas que especifican información del proveedor de Azure Key Vault diferente.
Mensajes de error actualizados Los mensajes de error relacionados con las excepciones de Enclave ahora incluyen un vínculo a una guía de solución de problemas.
Los mensajes de error relacionados con errores de autenticación de Active Directory ahora incluyen la cadena de error de la biblioteca subyacente.
Versión del controlador que se envía al servidor La versión del controlador ahora se envía correctamente a la base de datos durante PRELOGIN.
Identificador de proceso de cliente El identificador de proceso de cliente ahora se envía al servidor cuando se ejecuta en Java versión 9 o posterior. Java 8 mantiene la funcionalidad anterior de envío de 0 para el identificador de proceso de cliente.
Dependencias actualizadas Se han actualizado las versiones de dependencia de azure-identity, azure-security-keyvault-keys, gson, antlr y bouncycastle.
Se han quitado referencias innecesarias Se han quitado las referencias de clase específicas de Java 9 sin usar del archivo jar de Java 8.

Correcciones en la versión 9.4

Fix Detalles
Problema de GitHub n.º 1499 Corregido: se produce un error en Batch cuando always encrypted está habilitado en la cadena de conexión y se llama a clearParameters.
Problema de GitHub n.º 1632 Corregido: pequeña fuga de memoria en la nueva conexión.
Problema de GitHub n.º 1565 Se ha corregido un problema por el que trustStorePassword era NULL al usar applicationIntent=ReadOnly.
Problema de GitHub n.º 1568 Se ha corregido un problema por el que el token redirigido contiene una instancia con nombre en servername.
Problema de GitHub n.º 1531 Se ha corregido un posible desbordamiento de enteros en TDSWriter.writeString()

9.2

Descarga de Microsoft JDBC Driver 9.2.1 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 9.2.1 para SQL Server (tar.gz)

Número de versión: 9.2.1
Fecha de publicación: 2 de marzo de 2021

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 9.2

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC 9.2. GitHub, 9.2.1
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR del paquete 9.2 reciben su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-9.2.1.jre15.jar del paquete 9.2 se debe usar con Java 15.
Compatible con Java Development Kit (JDK) versión 15.0, 11.0 y 1.8. Microsoft JDBC Driver 9.2 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 15.0, además de con JDK 11.0 y 1.8.

Lanzamientos de la versión 9.2

Número de versión: 9.2.1
Fecha de publicación: 2 de marzo de 2021

Problemas corregidos en 9.2.1:

  • Se corrigió un problema con el secreto de cliente que estaba vacío durante la autenticación de ActiveDirectoryServicePrincipal en el entorno de Azure.

Número de versión: 9.2.0
Fecha de publicación: 29 de enero de 2021

Descarga de Microsoft JDBC Driver 9.2.0 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 9.2.0 para SQL Server (tar.gz)

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Compatibilidad con JDK 15

Microsoft JDBC Driver 9.2 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 15.0, además de con JDK 11.0 y 1.8.

Compatibilidad agregada con la autenticación interactiva de Azure Active Directory

Incorporación del tipo de autenticación Detalles
Microsoft JDBC Driver 9.2 para SQL Server ahora admite la autenticación en Azure Key Vault mediante la autenticación interactiva. Consulte Conexión mediante autenticación de Azure Active Directory.

Compatibilidad agregada con la autenticación de la entidad de servicio de Azure Active Directory

Incorporación del tipo de autenticación Detalles
Microsoft JDBC Driver 9.2 para SQL Server ahora admite la autenticación en Azure Key Vault mediante el identificador de cliente y el secreto de una identidad de entidad de servicio. Consulte Conexión mediante autenticación de Azure Active Directory.

Actualización de la biblioteca de Azure Key Vault para poder usar la biblioteca moderna de Azure Key Vault

Cambios en la biblioteca de Azure Key Vault Detalles
Microsoft JDBC Driver 9.2 se ha migrado de la biblioteca de Azure Key Vault y las bibliotecas de autenticación de Active Directory (ADAL) de generación anterior a las bibliotecas más modernas de Azure Key Vault y de identidades de Azure. CAMBIO DE DEPENDENCIAS. Asegúrese de actualizar las dependencias de la aplicación si usa la autenticación de Azure Active Directory o Azure Key Vault. Consulte los requisitos de dependencias al trabajar con el proveedor de Azure Key Vault o con autenticación de Azure Active Directory

Habilitación de useBulkCopyForBatchInsert para servidores que no son de Azure Synapse Analytics

Cambios en useBulkCopyForBatchInsert para servidores que no son de Azure Synapse Analytics Detalles
Microsoft JDBC Driver 9.2 ahora permite el uso de la API de copia masiva para la operación de inserción por lotes en servidores que no son de Azure Synapse Analytics. Consulte Uso de la API de copia masiva para la operación de inserción por lotes.

8,4

Descarga de Microsoft JDBC Driver 8.4 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 8.4 para SQL Server (tar.gz)

Número de versión: 8.4.1
Fecha de publicación: 27 de agosto de 2020

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 8.4

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para JDBC Driver 8.4. GitHub, 8.4.1
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR del paquete 8.4 reciben su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-8.4.1.jre14.jar del paquete 8.4 se debe usar con Java 14.
Compatible con Java Development Kit (JDK) versión 14.0, 11.0 y 1.8. Microsoft JDBC Driver 8.4 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 14.0, además de con JDK 11.0 y 1.8.

Lanzamientos de la versión 8.4

Número de versión: 8.4.1
Fecha de publicación: 27 de agosto de 2020
Problemas corregidos:

  • Se ha corregido un problema de incompatibilidad de SQLServerConnectionPoolProxy con delayLoadingLobs
  • Se ha corregido un problema NullPointerException potencial con delayLoadingLobs
  • Se ha corregido un problema con el descifrado de claves de cifrado de columnas al usar el almacén de certificados de Windows

Número de versión: 8.4.0
Fecha de publicación: 31 de julio de 2020

Compatibilidad con JDK 14

Microsoft JDBC Driver 8.4 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 14.0, además de con JDK 11.0 y 1.8.

Se ha agregado compatibilidad con la autenticación en Azure Key Vault mediante la identidad administrada

Incorporación del tipo de autenticación Detalles
Microsoft JDBC Driver 8.4 para SQL Server ahora admite la autenticación en Azure Key Vault mediante la identidad administrada. Consulte Usar Always Encrypted con el controlador JDBC.

Soporte extendido para la copia masiva de Almacenamiento de datos de Azure

Copia masiva de cambios para Almacenamiento de datos de Azure Detalles
Microsoft JDBC Driver 8.4 agrega una nueva propiedad de conexión, sendTemporalDataTypesAsStringForBulkCopy. Esta propiedad booleana es TRUE de manera predeterminada. Consulte Uso de la copia masiva con el controlador JDBC.

Se ha agregado compatibilidad con el almacenamiento en caché de DNS de SQL Azure

Almacenamiento en caché de DNS Detalles
Microsoft JDBC Driver 8.4 para SQL Server ahora admite el almacenamiento en caché de DNS en SQL Server en máquinas virtuales de Azure.  

Se ha agregado compatibilidad con versiones anteriores para hacer streaming de objetos LOB

Streaming de LOB Detalles
Microsoft JDBC Driver 8.4 para SQL Server incorporó una nueva propiedad de conexión delayLoadingLobs. El establecimiento de delayLoadingLobs en FALSE da lugar a que no se haga streaming de todos los objetos LOB recuperados de ResultSet. Esta configuración significa que el controlador carga todo el objeto LOB en memoria a la vez, de forma similar al funcionamiento del controlador antes del lanzamiento de la versión 6.4.

Se ha agregado compatibilidad con la autenticación de certificados de cliente para escenarios de bucles invertidos

Autenticación de certificados de clientes Detalles
Microsoft JDBC Driver 8.4 para SQL Server incorporó un nuevo método de autenticación llamado autenticación de certificados de clientes para escenarios de bucles invertidos. Consulte Autenticación de certificados de cliente para escenarios de bucles invertidos.

8,2

Descarga de Microsoft JDBC Driver 8.2 para SQL Server (zip)
Descarga de Microsoft JDBC Driver 8.2 para SQL Server (tar.gz)

Número de versión: 8.2.2 Fecha de publicación: 24 de marzo de 2020

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ZIP: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 8.2

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para JDBC Driver 8.2. GitHub, 8.2.2
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR del paquete 8.2 reciben su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-8.2.2.jre11.jar del paquete 8.2 se debe usar con Java 11.
Compatible con Java Development Kit (JDK) versión 13.0, 11.0 y 1.8. Microsoft JDBC Driver 8.2 para SQL Server es compatible con Java Development Kit (JDK) versión 13.0, además de con JDK 11.0 y 1.8.

Lanzamientos de la versión 8.2

Número de versión: 8.2.2
Fecha de publicación: 24 de marzo de 2020
Problemas corregidos:

  • Se ha agregado una opción para configurar la lista de puntos de conexión de Azure Key Vault de confianza

Número de versión: 8.2.1
Fecha de publicación: 26 de febrero de 2020
Problemas corregidos:

  • Se ha corregido un problema NullPointerException potencial al recuperar datos como tipo java.time.LocalTime o java.time.LocalDate con SQLServerResultSet.getObject()

Número de versión: 8.2.0
Fecha de publicación: 31 de enero de 2020

Compatibilidad con JDK 13

Microsoft JDBC Driver 8.2 para SQL Server es compatible con Java Development Kit (JDK) versión 13.0, además de con JDK 11.0 y 1.8.

Always Encrypted con enclaves seguros

Cambio de Always Encrypted Detalles
Microsoft JDBC Driver 8.2 para SQL Server ahora admite Always Encrypted con enclaves seguros. Los detalles se pueden encontrar aquí: Always Encrypted con enclaves seguros.
Más información y código de ejemplo. Vea Always Encrypted con enclaves seguros.

Mejora del rendimiento al recuperar tipos de datos temporales de SQL Server 1

Cambio de los tipos de datos temporales Detalles
Microsoft JDBC Driver 8.2 para SQL Server presenta un rendimiento mejorado al recuperar tipos de datos temporales de SQL Server. Este cambio elimina las conversiones de tipos de datos temporales innecesarias mediante la eliminación del uso de java.util.Calendar siempre que sea posible.
En la lista siguiente se muestran los tipos de datos temporales que se han visto afectados por esta mejora en el rendimiento; el formato es "SQL Server datatype" seguido de la asignación de Java correspondiente. date (java.sql.Date), datetime (java.sql.Timestamp), datetime2 (java.sql.Timestamp), smalldatetime (java.sql.Timestamp), and time (java.sql.Time).

1 Debido a las diferencias en la forma de administrar las zonas horarias entre la API java.util.Calendar y java.time.LocalDateTime, los tipos de datos temporales con un objeto java.util.Calendar proporcionado por el usuario asociado a ellos o con los tipos de datos microsoft.sql.DateTimeOffset no se benefician de esta mejora.

Implementación de mssql-jdbc_auth-<versión>-<arch>.dll (anteriormente sqljdbc_auth.dll) en el repositorio de Maven

Cambio de sqljdbc_auth.dll Detalles
A partir de Microsoft JDBC Driver 8.2 para SQL Server, el controlador se basa en mssql-jdbc_auth-<versión>-<arch>.dll, en lugar de en sqljdbc_auth.dll, para usar la característica Autenticación de Azure Active Directory.  
El archivo DLL también se ha cargado en el repositorio de Maven para facilitar el acceso. Vea esta página.

Problemas conocidos de la versión 8.2

Problemas conocidos Detalles
Cuando se usa Always Encrypted con enclaves seguros con Java 8. Los usuarios deben incluir el proveedor BouncyCastle como una dependencia O BIEN asignar o cargar un proveedor de seguridad que admita el algoritmo de firma RSASSA-PSS.

 7.4.1

Descarga de Microsoft JDBC Driver 7.4.1 para SQL Server (ejecutable autoextraíble)
Descarga de Microsoft JDBC Driver 7.4.1 para SQL Server (tar.gz)

Número de versión: 7.4.1
Fecha de publicación: 2 de agosto de 2019

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ejecutable autoextraíble: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 7.4

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC Driver 7.4. GitHub, 7.4.1
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR en el paquete 7.4 adquieren su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-7.4.1.jre11.jar del paquete 7.4 debe usarse con Java 11.
Compatible con Java Development Kit (JDK) versión 12.0, 11.0 y 1.8. Microsoft JDBC Driver 7.4 para SQL Server es compatible con Java Development Kit (JDK) versión 12.0, además de con JDK 11.0 y 1.8.

Lanzamientos de la versión 7.4

Número de versión: 7.4.1
Fecha de publicación: 2 de agosto de 2019
Problemas corregidos:

  • Se han revertido nuevas implementaciones de API hashCode() y equals() desde SQLServerDataTable y SQLServerDataColumn, ya que el cambio de API hizo que la compatibilidad con versiones anteriores dejara de funcionar

Número de versión: 7.4.0
Fecha de publicación: 31 de julio de 2019

Compatibilidad con JDK 12

Microsoft JDBC Driver 7.4 para SQL Server es compatible con Java Development Kit (JDK) versión 12.0, además de con JDK 11.0 y 1.8.

Presenta la autenticación NTLM

Cambio de NTLM Detalles
Admite el modo de autenticación NTLM. Este modo de autenticación permite a los clientes de Windows y a los que no lo son autenticarse en SQL Server mediante usuarios de dominio de Windows.
Más información y aplicación de ejemplo para usar este modo de autenticación. Consulte Conectando usando autenticación NTLM.

Presenta la consulta de ParameterMetaData a través de useFmtOnly

Cambio de useFmtOnly Detalles
Propiedad de conexión useFmtOnly agregada. Esta característica permite a los usuarios consultar de forma opcional ParameterMetaData a través de la API heredada SET FMTONLY ON. Esta configuración es útil en escenarios donde sp_describe_undeclared_parameters no se ejecuta según lo previsto.
Más detalles y limitaciones. Consulte Uso de useFmtOnly.

Actualización del SDK de Microsoft Azure Key Vault para Java, versión 1.2.1

Cambio del SDK de Key Vault Detalles
Actualización de su dependencia de Maven del SDK de Microsoft Azure Key Vault para Java a la versión 1.2.1.  
Quita el SDK de Microsoft Azure para Key Vault WebKey como dependencia de Maven.  
Más detalles. Consulte Feature dependencies of the Microsoft JDBC Driver for SQL Server (Dependencias de características de Microsoft JDBC Driver para SQL Server).

Problemas conocidos de la versión 7.4

Problemas conocidos Detalles
Al usar la autenticación NTLM. Actualmente, no se permite habilitar la protección ampliada y las conexiones cifradas al mismo tiempo.
Al usar useFmtOnly. Hay algunos problemas con esta característica; su causa son las deficiencias en la lógica de análisis de SQL. Consulte Using useFmtOnly para obtener más detalles y sugerencias de soluciones alternativas.

 7.2.2

Descarga de Microsoft JDBC Driver 7.2.2 para SQL Server (ejecutable autoextraíble)
Descarga de Microsoft JDBC Driver 7.2.2 para SQL Server (tar.gz)

Número de versión: 7.2.2
Fecha de publicación: 16 de abril de 2019

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ejecutable autoextraíble: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Cumplimiento normativo de la versión 7.2

Cambio respecto del cumplimiento Detalles
Descargue las actualizaciones más recientes para el controlador JDBC Driver 7.2. GitHub, 7.2.2
Maven Central
Totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR en el paquete 7.2 adquieren su nombre según la compatibilidad de la versión de Java.

Por ejemplo, el archivo mssql-jdbc-7.2.2.jre11.jar del paquete 7.2 debe usarse con Java 11.
Compatible con Java Development Kit (JDK) versión 11.0, además de con JDK 1.8. Microsoft JDBC Driver 7.2 para SQL Server is compatible con Java Development Kit (JDK) versión 11.0, además de con JDK 1.8.

Lanzamientos de la versión 7.2

Número de versión: 7.2.2
Fecha de publicación: 16 de abril de 2019
Problemas corregidos:

  • Se han corregido varios problemas que causaban que la limpieza de los elementos ActivityID no se efectuara correctamente

Número de versión: 7.2.1
Fecha de publicación: 11 de febrero de 2019
Problemas corregidos:

  • Se han corregido problemas de análisis con ciertas consultas parametrizadas

Número de versión: 7.2.0
Fecha de publicación: 31 de enero de 2019

Autenticación de identidad administrada (MSI) de Active Directory

Cambio en MSI Detalles
Admite el modo de autenticación de identidad administrada (MSI) de Active Directory. Este modo de autenticación es aplicable en los recursos de Azure con la compatibilidad habilitada para la característica "Identity".

Ambos tipos de identidades administradas (MSI) son compatibles con el controlador para adquirir accessToken a fin de establecer una conexión segura.
Más información y aplicación de ejemplo para usar este modo de autenticación. Consulte Conectarse mediante la autenticación de Azure Active Directory.

Introducción de la compatibilidad con la iniciativa Open Service Gateway Initiative (OSGi)

Cambio de OSGi Detalles
Implementación de DataSourceFactory agregada. org.osgi.service.jdbc.DataSourceFactory
com.microsoft.sqlserver.jdbc.osgi.SQLServerDataSourceFactory
Implementación de Activator agregada. org.osgi.framework.BundleActivator
com.microsoft.sqlserver.jdbc.osgi.Activator

Introducción de las API de SQLServerError

Cambio de la API de error Detalles
Introducción de la API de SQLServerError. API de captador para recuperar detalles adicionales sobre el error generado en el servidor.

SQLServerException.getSQLServerError()
SQLServerError
Más detalles. Consulte Control de errores.

Se ha actualizado la versión 1.6.3 de Biblioteca de autenticación de Microsoft Azure Active Directory (ADAL4J) para Java.

Cambio en ADAL4J Detalles
Actualización de su dependencia de Maven en ADAL4J a la versión 1.6.3.  
Introducción de Java Client Runtime for AutoRest como dependencia de Maven, versión 1.6.5.  
Más detalles. Consulte Feature dependencies of the Microsoft JDBC Driver for SQL Server (Dependencias de características de Microsoft JDBC Driver para SQL Server).

Actualización del SDK de Microsoft Azure Key Vault para Java, versión 1.2.0

Cambio del SDK de Key Vault Detalles
Actualización de su dependencia de Maven del SDK de Microsoft Azure Key Vault para Java a la versión 1.2.0.  
Presenta el SDK de Microsoft Azure para Key Vault WebKey como dependencia de Maven, versión 1.2.0.  
Más detalles. Consulte Feature dependencies of the Microsoft JDBC Driver for SQL Server (Dependencias de características de Microsoft JDBC Driver para SQL Server).

Problemas conocidos de la versión 7.2

Problemas conocidos Detalles
Consultas parametrizadas en ciertos casos. Se publicó una actualización de la versión 7.2.0, la 7.2.1, en febrero de 2019 para solucionar este problema.
Limpieza de elementos ActivityID. Se publicó una actualización de la versión 7.2.1, la 7.2.2, en abril de 2019 para solucionar este problema.

7.0

Descarga de Microsoft JDBC Driver 7.0 para SQL Server (ejecutable autoextraíble)
Descarga de Microsoft JDBC Driver 7.0 para SQL Server (tar.gz)

Número de versión: 7.0.0
Fecha de publicación: 31 de julio de 2018

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ejecutable autoextraíble: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Microsoft JDBC Driver 7.0 for SQL Server es totalmente compatible con la especificación 4.2 de la API de JDBC. Los archivos JAR en el paquete 7.0 adquieren su nombre según la compatibilidad de la versión de Java. Por ejemplo, el archivo mssql-jdbc-7.0.0.jre10.jar del paquete 7.0 debe usarse con Java 10.

Compatibilidad con JDK 10

Microsoft JDBC Driver 7.0 para SQL Server es compatible con Java Development Kit (JDK) versión 10.0, además de con JDK 1.8. Esta actualización también expone el Automatic-Module-Name del controlador como com.microsoft.sqlserver.jdbc a través de su archivo MANIFEST.

Compatibilidad con tipos de datos espaciales

Microsoft JDBC Driver 7.0 para SQL Server ahora ofrece soporte para los tipos de datos espaciales de SQL Server de geografía y geometría. Para obtener información acerca de las API de tipo de datos espaciales y cómo usarlas, consulte Utilizar tipos de datos espaciales.

Implementación de JDBC 4.3 y las API de java.sql.Connection beginRequest() y endRequest()

Microsoft JDBC Driver 7.0 para SQL Server ahora implementa las API beginRequest() y endRequest() desde la clase java.sql.Connection. Estas API se introdujeron con las especificaciones de JDBC 4.3 y JDK 9. Para obtener más información sobre la implementación del controlador de estas API, consulte Cumplimiento de JDBC 4.3 con el controlador JDBC.

Compatibilidad con la clasificación y detección de datos de SQL

Microsoft JDBC Driver 7.0 para SQL Server proporciona compatibilidad con la clasificación y detección de datos de SQL con cualquier base de datos de destino que admita esta característica. El controlador ahora expone las API de SQLServerResultSet.getSensitivityClassification() para extraer esta información del valor ResultSet capturado.

Para obtener más información sobre cómo usar esta característica con el controlador JDBC, vea el ejemplo de Clasificación y detección de datos de SQL.

Adición de propiedad de conexión: useBulkCopyForBatchInsert

Microsoft JDBC Driver 7.0 para SQL Server presenta una nueva propiedad de conexión, useBulkCopyForBatchInsert. Esta propiedad solo se admite para Azure Synapse Analytics.

Esta propiedad está deshabilitada de forma predeterminada. Puede habilitarla para aumentar el rendimiento de las aplicaciones de usuario cuando esté insertando grandes cantidades de datos en Azure Synapse Analytics. La habilitación de esta propiedad cambia el comportamiento de las operaciones de inserción por lotes para cambiar a operaciones de copia masiva con datos proporcionados por el usuario. Para obtener más información acerca de esta propiedad y sus limitaciones, consulte Uso de la API de copia masiva para la operación de inserción por lotes.

Adición de propiedad de conexión: cancelQueryTimeout

Microsoft JDBC Driver 7.0 para SQL Server presenta una nueva propiedad de conexión, cancelQueryTimeout para cancelar queryTimeout en objetos java.sql.Connection y java.sql.Statement.

Adición de constructores del proveedor de Azure Key Vault

Microsoft JDBC Driver 7.0 para SQL Server vuelve a introducir un constructor previamente eliminado, para SQLServerColumnEncryptionAzureKeyVaultProvider. Permite la autenticación a través de un método personalizado que se implementa sobre SQLServerKeyVaultAuthenticationCallback para capturar un token de acceso.

Los nuevos constructores tienen la siguiente definición:

/* This constructor is added to provide backward compatibility with 6.0
* version of the driver. It is marked deprecated for removal in the next
* stable release.
*/
@Deprecated
public SQLServerColumnEncryptionAzureKeyVaultProvider(
        SQLServerKeyVaultAuthenticationCallback authenticationCallback,
        ExecutorService executorService) throws SQLServerException;

/*New constructor to replace the above constructor*/
public SQLServerColumnEncryptionAzureKeyVaultProvider(
            SQLServerKeyVaultAuthenticationCallback authenticationCallback) throws SQLServerException;

Se ha actualizado la versión de "Biblioteca de autenticación de Microsoft Azure Active Directory (ADAL4J) para Java": 1.6.0

Microsoft JDBC Driver 7.0 para SQL Server ha actualizado su dependencia de Maven en la "Biblioteca de autenticación de Microsoft Azure Active Directory (ADAL4J) para Java" a la versión 1.6.0. Para obtener más información sobre las dependencias, consulte Dependencias de características de Microsoft JDBC Driver para SQL Server.

6.4

Descarga de Microsoft JDBC Driver 6.4 para SQL Server (ejecutable autoextraíble)
Descarga de Microsoft JDBC Driver 6.4 para SQL Server (tar.gz)

Número de versión: 6.4.0
Fecha de publicación: 27 de febrero de 2018

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ejecutable autoextraíble: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Microsoft JDBC Driver 6.4 para SQL Server es totalmente compatible con las especificaciones 4.1 y 4.2 de JDBC. Los archivos JAR en el paquete 6.4 adquieren su nombre según la compatibilidad de la versión de Java. Por ejemplo, el archivo mssql-jdbc-6.4.0.jre8.jar del paquete 6.4 debe usarse con Java 8.

Compatibilidad con JDK 9

El controlador admite la versión 9.0 de JDK además de JDK 8.0 y 7.0.

Compatibilidad de JDBC 4.3

El controlador admite la especificación Java Database Connectivity API 4.3, además de con 4.1 y 4.2. Los métodos de API de JDBC 4.3 se han agregado pero aún no se han implementado. Para obtener más información, vea JDBC 4.3 Compliance for the JDBC Driver (Cumplimiento de JDBC 4.3 para JDBC Driver).

Adición de propiedad de conexión: sslProtocol

Una nueva propiedad de conexión permite a los usuarios especificar la palabra clave del protocolo TLS. Los valores posibles son: "TLS", "TLSv1", "TLSv1.1" y "TLSv1.2". Para obtener más información, consulte SSLProtocol.

Propiedad de conexión en desuso: fipsProvider

La propiedad de conexión fipsProvider se ha quitado de la lista de propiedades de conexión aceptadas. Para obtener más información, consulte la solicitud de incorporación de cambios de GitHub relacionada.

Adición de propiedades de conexión para especificar un elemento TrustManager personalizado

El controlador ahora admite la especificación de un elemento TrustManager personalizado con las propiedades de conexión trustManagerClass y trustManagerConstructorArg agregadas. Puede especificar dinámicamente un conjunto de certificados que son de confianza en cada conexión sin modificar la configuración global para el entorno de la máquina virtual Java.

Adición de compatibilidad para datetime/smallDatetime en parámetros con valores de tabla

El controlador ahora admite los tipos de datos datetime y smallDatetime cuando se usa parámetros con valores de tabla (TVP).

Adición de compatibilidad para el tipo de datos sql_variant

El controlador JDBC Driver ahora admite los tipos de datos sql_variant para su uso con SQL Server. El tipo de datos sql_variant también se admite con características como los TVP y la copia masiva con las siguientes limitaciones:

  • Para valores de fecha:

    Cuando se usa un TVP para rellenar una tabla que contiene valores datetime, smalldatetime, o date almacenados en una columna sql_variant, la llamada al método getDateTime(), getSmallDateTime() o getDate() en el conjunto de resultados no funciona e inicia la siguiente excepción:

    java java.lang.String cannot be cast to java.sql.Timestamp

    Como solución, utilice el método getString() o getObject() en su lugar.

  • Uso de TVP con sql_variant para valores nulos:

    Si usa TVP para rellenar una tabla y envía un valor NULL al tipo de columna sql_variant, encontrará una excepción. La inserción de un valor NULL con el tipo de columna sql_variant en un TVP no se admite actualmente.

Implementación del almacenamiento en caché de metadatos de instrucción preparada

El controlador JDBC Driver ha implementado el almacenamiento en caché de metadatos de instrucción preparada para mejorar el rendimiento. El controlador ahora es compatible con almacenamiento en caché de los metadatos de la instrucción preparada en el controlador con las propiedades de conexión disableStatementPooling y statementPoolingCacheSize. Esta característica está deshabilitada de forma predeterminada. Para obtener más información, consulte Almacenamiento en caché de metadatos de instrucción preparada para el controlador JDBC.

Adición de compatibilidad con la autenticación integrada de Azure AD en Linux o macOS

JDBC Driver ahora admite la autenticación integrada de Azure Active Directory (Azure AD) en todos los sistemas operativos compatibles (Windows, Linux y macOS) con Kerberos. Como alternativa, en sistemas operativos Windows, los usuarios se pueden autenticar con mssql-jdbc_auth-<versión>-<arch>.dll.

Se ha actualizado la versión de "Biblioteca de autenticación de Microsoft Azure Active Directory (ADAL4J) para Java": 1.4.0

El controlador JDBC Driver ha actualizado su dependencia de Maven en la "Biblioteca de autenticación de Microsoft Azure Active Directory (ADAL4J) para Java" a la versión 1.4.0. Para obtener más información sobre las dependencias, consulte Dependencias de características de Microsoft JDBC Driver para SQL Server.

6.2

Descarga de Microsoft JDBC Driver 6.2 para SQL Server (ejecutable autoextraíble)
Descarga de Microsoft JDBC Driver 6.2 para SQL Server (tar.gz)

Número de versión: 6.2.2
Fecha de publicación: 29 de septiembre de 2017

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ejecutable autoextraíble: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Microsoft JDBC Driver 6.2 para SQL Server es totalmente compatible con las especificaciones 4.1 y 4.2 de JDBC. Los archivos JAR en el paquete 6.2 adquieren su nombre según la compatibilidad de la versión de Java. Por ejemplo, el archivo mssql-jdbc-6.2.2.jre8.jar del paquete 6.2 se recomienda para su uso con Java 8.

Lanzamientos de la versión 6.2

Número de versión: 6.2.2
Fecha de publicación: 3 de octubre de 2017
Problemas corregidos:

  • Se ha actualizado la dependencia ADAL4J a la versión 1.2.0 y la dependencia de Azure Key Vault a la versión 1.0.0

Número de versión: 6.2.1
Fecha de publicación: 14 de julio de 2017
Problemas corregidos:

  • Se ha corregido un problema al ejecutar consultas sin parámetros mediante preparedStatement

Número de versión: 6.2.0
Fecha de publicación: 30 de junio de 2017

Nota:

Se encontró un problema con la mejora del almacenamiento en caché de metadatos en la RTW de JDBC 6.2 publicada el 29 de junio de 2017. La mejora se revirtió y se publicaron nuevos archivos JAR (versión 6.2.1) el 17 de julio de 2017.

Otra mejora actualizó la versión de la biblioteca dependiente de Azure Key Vault a 1.0.0, y los nuevos archivos jar (versión 6.2.2) se publicaron el 19 de octubre de 2017.

Descargue las actualizaciones más recientes del controlador JDBC 6.2 a través de los vínculos anteriores, GitHub o Maven Central. Actualice los proyectos para que usen los archivos JAR de la versión 6.2.2. Para obtener más información, vea las notas de la versión para 6.2.1 y 6.2.2.

Compatibilidad de Azure AD para Linux

Conecte sus aplicaciones de Linux a Azure SQL Database mediante la autenticación de Azure AD a través de métodos de token de acceso y nombre de usuario/contraseña.

JMV compatibles con FIPS

El controlador JDBC Driver ahora se puede utilizar en las JVM que se ejecutan en el modo de cumplimiento de Federal Information Processing Standard (FIPS) 140 para cumplir con los estándares federales de cumplimiento.

Mejoras en la autenticación de Kerberos

El controlador JDBC Driver ahora es compatible con:

  • Método de entidad de seguridad y contraseña para las aplicaciones donde la configuración de Kerberos no se puede modificar o no puede recuperar un token nuevo o un archivo keytab. Este método puede usarse para la autenticación en una instancia de SQL Server que permite solo la autenticación de Kerberos.
  • Autenticación entre dominios que utiliza la autenticación integrada de Kerberos sin configurar explícitamente el SPN del servidor. El controlador ahora calcula automáticamente el dominio Kerberos incluso cuando no se proporciona.
  • Delegación restringida de Kerberos mediante la aceptación de credenciales de usuario suplantadas como un objeto de credencial GSS a través del origen de datos. Esta credencial suplantada se usa a continuación para establecer una conexión de Kerberos.

Adición de tiempos de expiración

El controlador JDBC Driver ahora admite los siguientes tiempos de expiración configurables. Puede cambiarlos según las necesidades de la aplicación.

  • Tiempo de expiración de consulta para controlar el número de segundos que deben transcurrir antes de que se produzca un error por tiempo de espera al ejecutar una consulta.
  • Tiempo de expiración de socket para especificar el número de milisegundos que deben transcurrir antes de que se produzca un error por tiempo de espera en una lectura o aceptación de socket.

6.1

Número de versión: 6.1.0
Fecha de publicación: 17 de noviembre de 2016

Microsoft JDBC Driver 6.1 para SQL Server es totalmente compatible con las especificaciones 4.1 y 4.2 de JDBC. Se trata de la versión inicial de código abierto del controlador JDBC Driver. El código fuente se puede encontrar en la etiqueta v6.1.0 de GitHub. Compila los archivos mssql-jdbc-6.1.0.jre8.jar y mssql-jdbc-6.1.0.jre7.jar, que se corresponden a la compatibilidad de la versión de Java.

6.0

Descarga de Microsoft JDBC Driver 6.0 para SQL Server (ejecutable autoextraíble)
Descarga de Microsoft JDBC Driver 6.0 para SQL Server (tar.gz)

Número de versión: 6.0.8112
Fecha de publicación: 17 de enero de 2017

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ejecutable autoextraíble: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Microsoft JDBC Driver 6.0 para SQL Server es totalmente compatible con las especificaciones 4.1 y 4.2 de JDBC. Los archivos JAR en el paquete 6.0 adquieren su nombre según su cumplimiento con la versión de API de JDBC. Por ejemplo, el archivo sqljdbc42.jar del paquete 6.0 es compatible con la API 4.2 de JDBC. De forma similar, el archivo sqljdbc41.jar es compatible con la API 4.1 de JDBC.

Para asegurarse de que tiene el archivo sqljdbc42.jar o sqljdbc41.jar adecuado, ejecute las siguientes líneas de código. Si el resultado es "Versión del controlador: 6.0.7507.100", tiene el paquete 6.0 del controlador JDBC.

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

Always Encrypted

El controlador ya es compatible con la característica Always Encrypted en SQL Server 2016. Esta característica garantiza que los datos confidenciales no se vean nunca en texto sin formato en una instancia de SQL Server. Always Encrypted funciona mediante el cifrado transparente de los datos en la aplicación, de modo que SQL Server solo se ocupa de los datos cifrados y no los valores de texto no cifrado. Aunque la instancia de SQL Server o el equipo host estén en peligro, lo único que el atacante puede obtener es texto cifrado de datos confidenciales. Para información detallada, vea Usar Always Encrypted con el controlador JDBC.

Nombres de dominio internacionalizados

El controlador admite nombres de dominio internacionalizados (IDN) para nombres del servidor. Para obtener más información, vea "Using International Domain Names ("Uso de nombres de dominio internacionales") en el artículo International Features of the JDBC Driver (Características internacionales del controlador JDBC Driver).

Consulta con parámetros

El controlador ahora admite la recuperación de metadatos de parámetros con instrucciones preparadas para consultas complejas, como subconsultas o combinaciones. Esta mejora solo está disponible cuando se usa SQL Server 2012 y versiones más recientes.

Azure Active Directory

La autenticación de Azure AD es un mecanismo de conexión a Azure SQL Database que utiliza las identidades de Azure AD. Use la autenticación de Azure AD para administrar identidades de usuarios de base de datos de forma centralizada y como alternativa a la autenticación de SQL Server.

Puede usar el controlador JDBC Driver 6.0 para especificar las credenciales de Azure AD en la cadena de conexión de JDBC para conectarse a Azure SQL Database. Para obtener más información, vea la propiedad de autenticación en el artículo Establecer las propiedades de conexión.

Parámetros con valores de tabla

Los parámetros con valores de tabla proporcionan una manera sencilla de serializar varias filas de datos de una aplicación cliente en SQL Server sin necesidad de ir y volver repetidas veces ni de ninguna lógica especial de servidor para procesar los datos. Puede usar parámetros con valores de tabla para encapsular filas de datos en una aplicación cliente y enviar los datos al servidor en un único comando con parámetros. Las filas de datos entrantes se almacenan en una variable de tabla en la que, a continuación, puede operar mediante el uso de Transact-SQL. Para ver más información, consulte Usar parámetros con valores de tabla.

Grupos de disponibilidad AlwaysOn

El controlador ahora admite conexiones transparentes a grupos de disponibilidad Always On. El controlador detecta rápidamente la topología Always On actual de la infraestructura de servidor y conecta con el servidor activo actual de forma transparente.

4,2

Descarga de Microsoft JDBC Driver 4.2 para SQL Server (ejecutable autoextraíble)
Descarga de Microsoft JDBC Driver 4.2 para SQL Server (tar.gz)

Número de versión: 4.2.8112
Fecha de publicación: 24 de agosto de 2015

Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para obtener el controlador en un archivo ejecutable autoextraíble: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español
Para obtener el controlador en un archivo tar.gz: Chino (simplificado) | Chino (tradicional) | Inglés (Estados Unidos) | Francés | Alemán | Italiano | Japonés | Coreano | Portugués (Brasil) | Ruso | Español

Microsoft JDBC Driver 4.2 para SQL Server es totalmente compatible con las especificaciones 4.1 y 4.2 de JDBC. Los archivos JAR en el paquete 4.2 adquieren su nombre según su cumplimiento con la versión de API de JDBC. Por ejemplo, el archivo sqljdbc42.jar del paquete 4.2 es compatible con la API 4.2 de JDBC. De forma similar, el archivo sqljdbc41.jar es compatible con la API 4.1 de JDBC.

Para asegurarse de que tiene el archivo sqljdbc42.jar o sqljdbc41.jar adecuado, ejecute las siguientes líneas de código. Si el resultado es "Versión del controlador: 4.2.6420.100", tiene el paquete 4.2 del controlador JDBC.

Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());

Compatibilidad con JDK 8

El controlador admite la versión 8.0 de JDK además de JDK 7.0, 6.0 y 5.0.

Cumplimiento con JDBC 4.1 y 4.2

El controlador admite las especificaciones de la API Java Database Connectivity 4.1 y 4.2, además de 4.0. Para obtener más información, consulte Cumplimiento de JDBC 4.1 con el controlador JDBC y Cumplimiento de JDBC 4.2 con el controlador JDBC.

Copia masiva

Se usa la característica de copia masiva para copiar rápidamente grandes cantidades de datos en tablas o vistas en bases de datos de SQL Server. Para obtener más información, vea Uso de la copia masiva con el controlador JDBC.

Opción de reversión de transacción de XA

El controlador dispone de nuevas opciones de tiempo de espera para la reversión automática existente de transacciones no preparadas. Para obtener más información, consulte Descripción de las transacciones XA.

Nueva propiedad de conexión de entidad de seguridad de Kerberos

El controlador usa una nueva propiedad de conexión para facilitar la flexibilidad con las conexiones de Kerberos. Para obtener más información, vea Using Kerberos Integrated Authentication to Connect to SQL Server (Uso de la autenticación integrada de Kerberos para conectar con SQL Server).

4,1

Número de versión: 4.1.8112
Fecha de publicación: 12 de diciembre de 2014

Compatibilidad con JDK 7

El controlador admite la versión 7.0 de JDK además de JDK 6.0 y 5.0.

No se admite Itanium para aplicaciones de controlador JDBC

Microsoft JDBC Driver para SQL Server no se admite en equipos Itanium.

Consulte también

Introducción al controlador JDBC