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.10
Número de versión: 12.10.0
Fecha de publicación: 07 de marzo de 2025
descargar microsoft JDBC Driver 12.10.0 para SQL Server (zip)
descargar microsoft JDBC Driver 12.10.0 para SQL Server (tar.gz)
Si necesita descargar el controlador en un idioma diferente al que se le ha detectado, puede usar estos enlaces 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.10
Característica | Detalles |
---|---|
Compatibilidad con Java 23 | El controlador ahora es compatible con java Development Kit (JDK) versión 23.0 además de JDK 21.0, 17.0, 11.0 y 1.8. |
Se ha agregado una disposición para establecer las opciones de SQLServerBulkCopy en PreparedStatement. | Para establecer SQLServerBulkCopyOptions en PreparedStatement al usar useBulkCopyForBatchInsert=true , se introdujeron nuevas opciones de cadena de conexión y un método de API de setBulkCopyOptions . |
Se ha agregado una característica de lógica de reintento configurable, que admite tanto la instrucción como el reintento de conexión | Se ha agregado lógica de reintento configurable para instrucciones SQL, lo que permite definir reglas en la cadena de conexión o en el archivo mssql-jdbc.properties . Las reglas especifican los errores que se van a reintentar, el número de reintentos y el tiempo entre reintentos. La lógica de reintento garantiza que los reintentos solo se produzcan cuando se cumplen las condiciones especificadas, como los códigos de error y las consultas coincidentes. |
Cambios en la versión 12.10
Cambio | Detalles |
---|---|
Buscar valores NULL al obtener valores DTV | Se ha agregado una comprobación de un valor NULL de DTVImpl antes de llamar a DTVImpl::getValue. Esta comprobación ha mostrado mejoras de rendimiento en las pruebas comparativas internas. Esta corrección cambia el comportamiento de getBinaryStream y getAsciiStream en ResultSet para que sea compatible con las especificaciones de la API de JDBC. Devuelve: un flujo de entrada de Java que entrega el valor de la columna de base de datos como un flujo de caracteres ASCII de un byte; si el valor es SQL NULL, el valor devuelto es NULL. |
Se ha agregado com.ibm.security.auth.module y com.sun.security.auth.module como importación de opciones | Establezca resolution=optional para estas importaciones de OSGi para evitar errores de implementación causados por importaciones obligatorias. |
Se revierte la característica "Ejecutar procedimientos almacenados directamente", así como los cambios posteriores relacionados con la característica. | Se revirtió la función debido a los problemas y las regresiones introducidas por estos cambios. |
Se ha cambiado el registro de MSAL de FINEST a FINER | Este cambio se realiza para reducir el nivel de detalle de los registros, a la vez que proporciona detalles suficientes para solucionar problemas de autenticación. |
Dependencias actualizadas | Se han actualizado las versiones de dependencia de azure-identity , bouncycastle , y juint . |
Correcciones en la versión 12.10
Corrección | Detalles |
---|---|
Se ha corregido un NullPointerException cuando se realiza una operación de copia masiva en una columna calculada |
Se ha corregido un NullPointerException cuando se realiza una operación de copia masiva en una columna calculada iterando sobre el conjunto de claves de un mapa. problema de GitHub n.º 2606. |
Se ha cambiado la configuración de resolución del módulo de inicio de sesión a opcional. | Se ha corregido el problema por el que el manifiesto del archivo JAR contenía una declaración de importación no opcional en com.ibm.security.auth.module y com.sun.security.auth.module, que se debe declarar con resolution:=optional. problema de GitHub n.º 2608. |
Se ha corregido el ámbito de BULK_COPY_OPERATION_CACHE |
Se ha corregido un problema por el que BULK_COPY_OPERATION_CACHE se defineba en un ámbito global en lugar del ámbito de conexión, lo que provocaba aciertos de caché incorrectos en las conexiones y posibles problemas de memoria insuficiente. problema de GitHub n.º 2585. |
Se ha corregido un problema con el método check isIBM para usar el módulo de inicio de sesión correcto. | Se ha corregido el método generateDefaultConfiguration para comprobar dinámicamente la presencia de com.sun.security.auth.module.Krb5LoginModule y usarlo si está disponible; de lo contrario, recurre a com.ibm.security.auth.module.Krb5LoginModule. problema de GitHub n.º 2576. |
Se ha corregido un problema con SQLServerBulkCopy desde CSV con setEscapeColumnDelimerts establecido en true |
Se ha corregido una regresión de 12.8.1, donde el método readLineEscapeDelimiters en SQLServerBulkCSVFileRecord no controlaba el caso de que un archivo CSV no tuviera un carácter de nueva línea al final de la última fila. problema de GitHub n.º 2573. |
Se ha corregido la conversión OffsetDateTime para fechas anteriores a gregorianas | Se ha corregido la conversión de DateTimeOffset a OffsetDateTime para usar la clase Calendar , para controlar las fechas pre-gregorianas. problema de GitHub n.º 2565. |
Se ha corregido la funcionalidad getGeneratedKeys para ejecutar la API. | Se ha corregido la funcionalidad getGeneratedKeys para que la API de ejecución notifique correctamente el recuento de actualizaciones y los conjuntos de resultados posteriores. problema de GitHub n.º 2550. |
Se ha corregido un problema por el que SQLServerConnection podía entrar en un bucle infinito. |
Se ha corregido un bucle infinito en SQLServerConnection asegurando que todas las sentencias en openStatements se cierren y eliminen explícitamente, y se han hecho volátiles bIsClosed y openStatements. problema de GitHub n.º 2537. |
Se ha corregido la eliminación de signos de interrogación de las etiquetas de columnas (alias) | Corrección para mejorar el control de errores en el método buildExecuteMetaData para administrar mejor SQLServerException , asegurándose de que las etiquetas de columna (alias) con signos de interrogación se procesan correctamente. problema de GitHub n.º 2535. |
Se ha corregido el mecanismo de autenticación Kerberos para proporcionar compatibilidad con Java 17 y versiones posteriores. | La corrección aborda la deprecación del método Subject.getSubject() , recurriendo a la API de reemplazo cuando se lanza una excepción por deprecación. problema de GitHub n.º 2524. |
Versiones anteriores
12.8
descargar microsoft JDBC Driver 12.8.1 para SQL Server (zip)
descargar microsoft JDBC Driver 12.8.1 para SQL Server (tar.gz)
Número de versión: 12.8.1
Fecha de publicación: 22 de agosto 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 12.8
Cambio en el cumplimiento | Detalles |
---|---|
Descargue las actualizaciones más recientes para el controlador JDBC Driver 12.8. | • GitHub, 12.8.0 • Maven Central |
Totalmente compatible con la especificación 4.2 de la API de JDBC. | Los archivos JAR del paquete 12.8 adquieren su nombre según la compatibilidad de la versión de Java. Por ejemplo, el archivo mssql-jdbc-12.8.0.jre11.jar del paquete 12.8 se debe usar con Java 11 (o una versión posterior). |
Compatible con Java Development Kit (JDK) versión 22.0, 21.0, 17.0, 11.0 y 1.8. | Microsoft JDBC Driver 12.8 para SQL Server ahora es compatible con Java Development Kit (JDK), versión 22.0, además de JDK 21.0, 17.0, 11.0 y 1.8. |
Lanzamientos de la versión 12.8
Número de versión: 12.8.1
Fecha de publicación: 22 de agosto de 2024
Cambios en la versión 12.8.1:
- Se ha cambiado el registro de MSAL de FINER a FINEST
Se han corregido problemas en la versión 12.8.1:
- Se ajusta DESTINATION_COL_METADATA_LOCK, en SQLServerBulkCopy, de modo que se libere correctamente en todos los casos
- Se ha cambiado el comportamiento del controlador para permitir que los objetos de instrucción preparados se vuelvan a usar, lo que impide un error de "no se permiten varias consultas".
- Se revierte la función "Ejecutar procedimientos almacenados directamente" y los cambios posteriores relacionados con la función.
descargar microsoft JDBC Driver 12.8.1 para SQL Server (zip)
descargar microsoft JDBC Driver 12.8.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.8.0
Fecha de publicación: 31 de julio de 2024
Descargar el controlador Microsoft JDBC 12.8.0 para SQL Server (zip)
Descargar Microsoft JDBC Driver 12.8.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.8
Característica | Detalles |
---|---|
Compatibilidad con Java 22 | Ahora el controlador es compatible con Java Development Kit (JDK) versión 22.0, además de JDK 21.0, 17.0, 11.0 y 1.8. |
Se ha añadido el almacenamiento en caché de credenciales al utilizar las credenciales de identidad administrada o las credenciales predeterminadas de Azure. | Para mejorar el rendimiento y la confiabilidad de los controladores, el controlador ahora permite el almacenamiento en caché de las credenciales mencionadas anteriormente. |
Permitir el almacenamiento en caché del objeto SQLServerBulkCopy cuando se usa la copia masiva para la inserción por lotes |
Sustituye el comportamiento anterior, donde cada llamada de executeBatch() generaba un nuevo objeto SQLServerBulkCopy , almacenando en caché el objeto en su lugar. |
Se ha agregado el almacenamiento en caché a nivel de conexión para los metadatos de la columna de destino en la copia masiva. | Mejora el rendimiento agregando almacenamiento en caché en el nivel de conexión para los metadatos de columna de destino en escenarios de copia masiva. Esta característica está habilitada mediante el establecimiento de la propiedad de cadena de conexión recién agregada cacheBulkCopyMetadata a true (el valor predeterminado es false ). |
Adición de un controlador de mensajes de SQL Server y compatibilidad con el encadenamiento de SQLException | Se ha agregado un controlador de mensajes de SQL Server que permite varias características, incluidos comentarios adicionales para consultas de larga duración, registro de errores universal y degradación automática de la gravedad del mensaje de error de SQLException a SQLWarning. Además, esta característica permite encadenar sqlExceptions juntos para que todos los mensajes de error estén a disposición del usuario. Vea Manejo de errores. |
Se proporcionó compatibilidad completa con RFC4180 para las operaciones de inserción masiva de CSV | Falta la compatibilidad con campos entre comillas que contienen nuevas líneas para garantizar la compatibilidad total con RFC4180; ahora se ha agregado esta compatibilidad. |
Permitir la construcción de una instancia microsoft.sql.DateTimeOffset a partir de un valor java.time.OffsetDateTime |
La conversión entre los dos tipos de datos ya existía en el controlador usando un Timestamp intermediario. Esta adición elimina ese intermediario, con lo que mejora el rendimiento y se reduce el potencial de errores relacionados con la zona horaria. |
Cambios en la versión 12.8
Cambio | Detalles |
---|---|
La enumeración SQLServerSortOrder ahora es pública |
Se ha cambiado la visibilidad de la enumeración SQLServerSortOrder a público, lo que permite a los usuarios mayor flexibilidad en las consultas que usan esta enumeración. |
Eliminar synchronized de las invalidaciones de socket |
Se agregaron incorrectamente en cambios anteriores para ajustarse a los estándares de revisión de código; los métodos seleccionados modificados, de hecho, no necesitan sincronizarse y se han cambiado para reflejar este hecho. |
Se han revisado los cambios anteriores de RMERR/RMFAIL mediante el establecimiento del valor predeterminado RMFAIL |
Los cambios anteriores cambiaron el valor de XAER_RMFAIL a XAER_RMERR para los casos seleccionados, pero estos casos se convirtieron rápidamente en la mayoría de los casos tratados. La solución consiste en cambiar el valor predeterminado a RMFAIL y convertirlo en RMERR para los casos inversos a los mencionados anteriormente. |
Dependencias actualizadas | Se han actualizado las versiones de dependencia de azure-identity , bouncycastle y msal . |
Compatibilidad revisada para TDSType.GUID |
Mejora la adición original de compatibilidad para TDSType.GUID permitiendo el paso directo del UUID al método setObject . |
Se ha agregado el registro al almacenamiento en caché de tokens | Se han agregado registros adicionales para el almacenamiento en caché de tokens, lo que ayuda en situaciones de depuración. |
Correcciones en la versión 12.8
Corrección | Detalles |
---|---|
Corrección de una regresión al especificar nombres de argumentos en la sintaxis de declaraciones invocables | Se ha corregido una regresión de 12.6.2 -> 12.6.3 en la que CallableStatements de un formato determinado devolvía valores incorrectos. Problema de GitHub n.º 2477. |
Se ha corregido el análisis de paréntesis en procedimientos almacenados y funciones | Se ha corregido un problema por el que llamar a una función con paréntesis al final en una instrucción invocable, por ejemplo, function() frente a función, lo que provocaba que el valor devuelto siempre fuera 0. Este cambio fue una regresión de 12.6.2:> 12.6.3. Problema de GitHub n.º 2463. |
Se ha corregido un error en el que el controlador no respetaba CallableStatement con argumentos predeterminados. |
Se ha corregido un error que era una regresión de 12.5.0 -> 12.6.0, donde se omitían los argumentos predeterminados en instrucciones invocables. Problema de GitHub n.º 2446. |
Corrección para quitar la clase TokenCredential que el controlador no requiere. |
TokenCredentialClass no es necesario en SQLServerSecurityUtility y puede causar un lanzamiento incorrecto de NoClassDefFoundError . Esta corrección quita la importación y la reemplaza por un Object genérico. Problema de GitHub n.º 2439. |
Se ha corregido un error de conversión de cadena de marca de tiempo para CallableStatements | Se ha corregido una excepción de conversión que se producía al llamar a un parámetro DateTime de entrada/salida al configurar un valor de String . Problema de GitHub n.º 2436. |
Se ha corregido el constructor SqlAuthenticationToken para aceptar el parámetro correcto. | El constructor de SQLAuthenticationToken no era correcto, trabajando con un parámetro de entrada en segundos, cuando debería ser milisegundos. Problema de GitHub n.º 2424. |
Corrija para borrar el manipulador de sentencia preparada antes de reconectar | De esta forma se corrige un problema en el que se utilizaban manipuladores incorrectos en un SQLServerPreparedStatement después de la reconexión, al borrar correctamente el SQLServerPreparedStatement.prepStmtHandle antes de volver a conectarse. Problema de GitHub n.º 2364. |
Corrección para borrar la caché de instrucciones preparadas al restablecer la conexión del grupo de instrucciones | De esta forma se corrige un problema por el que, con la agrupación de instrucciones habilitada, la reutilización de una conexión de connectionPool provocaba que faltasen entradas, o que estuviesen incorrectamente insertadas. Problema de GitHub n.º 2356. |
Solución para desenlazar socketTimeout de loginTimeout |
socketTimeout debe tener un límite superior de loginTimeout para el establecimiento de la conexión, pero no debe tener ningún límite superior después de que el controlador esté conectado. Este cambio corrige ese comportamiento. Problema de GitHub n.º 2354. |
Corrección para comprobar correctamente si el contador TDSCommand es NULL antes de intentar incrementarlo. |
Agrega una comprobación que falta null para el TDSCommand contador, lo que impide un NullPointerException que podría surgir de otro modo. Problema de GitHub n.º 2353. |
Corregir los procedimientos de llamadas con parámetros de salida mediante su sintaxis de cuatro partes | Corrige un problema que provocaba que llamar a procedimientos almacenados con una sintaxis de cuatro partes (es decir, con un servidor vinculado) provocara un error que indica que la secuencia del protocolo TDS no es válida. Problema de GitHub n.º 2344. |
Corregir para escapar correctamente los parámetros de schema para getProcedures y getProcedureColumns |
Los métodos SQLServerDatabaseMetadata getProcedures y getProcedureColumns no escaparon correctamente determinados caracteres (por ejemplo, \ ) para el parámetro schema . Este cambio corrige ese problema. Problema de GitHub n.º 2336. |
Se ha agregado un mapa de caché de tokens para evitar el uso de un token de autenticación no deseado para conexiones posteriores. | Esto corrige un problema por el que las credenciales de cliente se podían reutilizar accidentalmente. Mientras el token de autenticación se almacenaba correctamente en caché, el controlador reutilizaba el token con solo el secreto de cliente cambiado. Problema de GitHub #2334. |
Se ha corregido la compatibilidad para la sintaxis de escape exec en CallableStatements |
Se corrige un problema por el cual, después de eliminar las llamadas envueltas sp_executesql /sp_prepexec para ejecutar CallableStatement rápidamente, las llamadas EXEC ya no funcionaban. Problema de GitHub n.º 2325. |
Realizar una corrección para asegurar que Money y SmallMoney estén dentro de los intervalos correctos para la copia masiva |
Esto corrige un problema por el que, al usar una copia masiva con valores de Money o SmallMoney , la conversión a o desde los valores puede provocar una ArithmeticOverflowException . Problema de GitHub n.º 2309. |
Corrección para asegurarse de que ResultSetMetadata para DatabaseMetadata.getColumns() sea correcto en todas las columnas |
Los metadatos devueltos eran incorrectos para algunas columnas, este cambio corrige ese problema. Problema de GitHub n.º 2232. |
Corrección para desactivar correctamente los reintentos de conexión cuando connectRetryCount está configurado en 0 |
Se corrige el comportamiento en el que, incluso con connectRetryCount establecido en 0, el controlador intentó reintentar hasta que se alcanzó loginTimeout . Problema de GitHub n.º 2232. Problema de GitHub n.º 2188. |
Corrección para solucionar una fuga ClassLoader de ActivityCorrelator ThreadLocal |
Corrige un problema por el cual, después de cambios en el controlador a ActivityId , ThreadLocal en ActivityCorrelator nunca se elimina del subproceso. |
Corrección para ejecutar procedimientos almacenados directamente para llamadas RPC | Las llamadas RPC estaban usando lógica anterior mediante el encapsulado en llamadas sp_executesql ; este cambio corrige ese comportamiento. |
12.6
descargar microsoft JDBC Driver 12.6.4 para SQL Server (zip)
descargar microsoft JDBC Driver 12.6.4 para SQL Server (tar.gz)
Número de versión: 12.6.4
Fecha de publicación: 29 de agosto de 2024
Si necesita descargar el controlador en un idioma distinto al que se le ha asignado, puede usar estos enlaces 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 12.6
Cambio en el 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.4
Fecha de publicación: 29 de agosto de 2024
Se han corregido problemas en la versión 12.6.4:
- Se revierte la función "Ejecutar procedimientos almacenados directamente" y los cambios posteriores relacionados con la función.
descargar microsoft JDBC Driver 12.6.4 para SQL Server (zip)
descargar microsoft JDBC Driver 12.6.4 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.3
Fecha de publicación: 20 de junio de 2024
Problemas corregidos en la versión 12.6.3:
- Se ha corregido un problema por el que se requería importar la clase TokenCredential
- Regresión de conversión de cadena de marca de tiempo fija
- Se ha corregido la regresión de valores predeterminados de SQLServerCallableStatement
Descargar Microsoft JDBC Driver 12.6.3 para SQL Server (zip)
Descargar Microsoft JDBC Driver 12.6.3 para SQL Server (tar.gz)
Si necesita descargar el controlador en un idioma diferente al que se le ha detectado, puede usar estos enlaces 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.2
Fecha de publicación: 23 de mayo de 2024
Funciones añadidas en 12.6.2:
- Se ha añadido el almacenamiento en caché de credenciales para las credenciales de identidad administrada y las credenciales predeterminadas de Azure.
Problemas corregidos en la versión 12.6.2:
- Compruebe que el dinero y el dinero pequeño están dentro del intervalo correcto para la copia masiva
- Compruebe si el contador TDSCommand es NULL antes de incrementar
- Borre la caché de declaraciones preparadas al restablecer la conexión del pool de declaraciones
- Borrar identificador de instrucción preparada antes de volver a conectarse
- Las llamadas RPC para CallableStatements se ejecutan directamente
- Objeto de token de autenticación corregido para aceptar la expiración en milisegundos
- SocketTimeout no debe estar limitado por loginTimeout una vez abierta una conexión exitosa.
Descarga Microsoft JDBC Driver 12.6.2 para SQL Server (zip)
Descarga Microsoft JDBC Driver 12.6.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 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.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
Descargar Microsoft JDBC Driver 12.6.1 para SQL Server (zip)
Descargar 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
Descargar Microsoft JDBC Driver 12.6.0 para SQL Server (zip)
Descargar Microsoft JDBC Driver 12.6.0 para SQL Server (tar.gz)
Si necesita descargar el driver en un idioma distinto al detectado específicamente para usted, 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 llamar a procedimientos almacenados directamente usando la nueva propiedad de conexión useFlexibleCallableStatements |
El controlador ahora llama a los procedimientos almacenados directamente, en lugar de encapsular el procedimiento alrededor de exec sp_executesql , simplificando el procedimiento y mejorando el rendimiento. |
Se agregó la propiedad de cadena de conexión useDefaultJaasConfig |
Cuando se establece en true, permite la autenticación Kerberos sin configuración externa adicional. |
Se ha añadido la 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. |
Se agregó la 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. |
Se han agregado nuevos registradores con nombre para reintentos abiertos de conexión y reconexión de la resistencia de conexión inactiva | Los reintentos de apertura de conexión usan la categoría de registro de redireccionamiento y se pueden utilizar en el nivel de registro FINO. La resistencia de conexión inactiva se vuelve a conectar mediante la categoría Registro de resistencia y se puede 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 pasado de comprobar solo el nombre del proveedor a comprobar tanto el nombre del proveedor como el de la máquina virtual. |
Sincronización correcta de todas las llamadas a MSAL | Impide que el conductor haga llamadas adicionales y mantenga diálogos innecesarios. |
Se han agregado más errores que deben traducirse a RMFAIL | Se han agregado más casos, "restablecimiento de conexión por punto" y "tiempo de espera de conexión", que debe equivaler a RMFAIL |
Se ha cambiado el uso de las marcas de tiempo en la copia masiva | Cambiar el comportamiento de la copia masiva de serializar y deserializar objetos Timestamp a usar los objetos directamente, lo que supone una mejora en el rendimiento cuando un usuario utiliza muchas marcas de tiempo. |
Se ha cambiado socketTimeout para asegurarse de que es correctamente menor que loginTimeout |
Anteriormente socketTimeout actuaba independientemente de loginTimeout , lo que llevaba a un comportamiento potencialmente confuso donde el controlador tardaba más tiempo en expirar el tiempo de espera de lo esperado. Este problema se ha corregido por lo que socketTimeout siempre tiene un límite superior igual a loginTimeout . |
Se ha ajustado la memoria caché 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. |
Actualizado a las dependencias más recientes de Bouncycastle | Actualice de bcprov-jdk15on y bcpkix-jdk15on a bcprov-jdk18on y bcpkix-jdk18on , ya que el primero ya no se actualiza. |
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 |
---|---|
Se corrigió un control de NULL que faltaba para e.getCause() | Se ha corregido un problema donde, cuando una excepción no tiene causa, se transmite la excepción misma, impidiendo que se pierda. Problema de GitHub n.º 2299. |
Corrección de bloqueos en IOBuffer para evitar problemas de interbloqueo que podrían surgir | Se ha corregido la implementación de bloqueos en IOBuffer, específicamente en torno a disableSSL, para evitar interbloqueos que podrían surgir en determinadas situaciones. Problema de GitHub n.º 2288. Problema de GitHub #2265. |
Corrección de un problema con marcas de tiempo y copia masiva para la inserción por lotes | Se ha corregido que la zona horaria no se aplicaba correctamente a las marcas de tiempo al insertarlas en el proceso de inserción por lotes y copia masiva. Problema de GitHub n.º 2271. |
Se han corregido los captadores y establecedores que faltan para useBulkCopyForBatchInsert |
Se ha corregido un problema por el que el comportamiento no era el mismo entre SQLServerConnection y SQLServerConnectionPoolProxy , cuando debería ser, ya que a useBulkCopyForBatchInsert le faltaban los métodos getter y setter en el segundo. Problema de GitHub n.º 2245. |
Se ha corregido una consulta de metadatos de copia masiva para usar datos almacenados en caché, si está disponible. | Se ha corregido un problema que provocaba que, a pesar de que los datos estaban en caché, se realizaran solicitudes de metadatos de columna cada vez. Problema de GitHub n.º 2224. |
Se corrigió una comprobación de escala BigDecimal que faltaba para los valores de TVP | Se ha corregido un problema por el que, al escribir valores de fila de TVP, los valores de entrada no se filtraban correctamente para la escala BigDecimal. Problema de GitHub n.º 2222. |
Se ha corregido schemaPattern en SQLServerDatabaseMetadata para asegurarse de que los métodos que usan el parámetro lo escapen correctamente. | Se ha corregido un problema por el que schemaPattern era el único patrón que no se escapaba correctamente en SQLServerDatabaseMetadata. Problema de GitHub n.º 2186. |
Se ha corregido un problema por el que se devolvía un valor SQLState nulo al intentar convertir una fecha en un long | Se ha corregido un problema por el que, cuando xopenStates se establece en true, el controlador no devuelve el código de estado de SQL-99 esperado en una instancia determinada. Problema de GitHub n.º 2167. |
Corrección del error getMetaData para las consultas que contienen TOP | Se ha corregido 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 ha corregido un problema por el que las sentencias de insert sin espacios en blanco funcionaban correctamente en casos normales, pero no al usar inserciones masivas. Problema de GitHub n.º 1534. |
Corrección de un problema con ParameterMetadata e índices no válidos | Se ha solucionado un problema en el que ParameterMetadata no comprobaba correctamente un índice 0 no válido y lanzaba 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 la copia masiva para la inserción por lotes | Se ha corregido el comportamiento de copia masiva para omitir las columnas calculadas y permitir inserciones por lotes, cuando anteriormente se produciría un error en 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 ha corregido un problema por el que el controlador no comprobaba correctamente la firma, al usar el Almacén de claves de Java y la adición de una nueva API para firmar 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 ha corregido 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. |
12.4
Descargar Microsoft JDBC Driver 12.4.2 para SQL Server (zip)
Descarga 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 necesita descargar el controlador en un idioma distinto al detectado para usted, 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 12.4
Cambio en el 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:
- Se ha revertido la comprobación de IBM a comprobación de proveedor y se ha añadido una comprobación adicional de nombre de máquina virtual para eliminar falsos positivos
Descargar Microsoft JDBC Driver 12.4.2 para SQL Server (zip)
Descargar 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 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.
Descargar Microsoft JDBC Driver 12.4.1 para SQL Server (zip)
Descargar Microsoft JDBC Driver 12.4.1 para SQL Server (tar.gz)
Si necesita descargar el controlador en un idioma diferente al que se ha detectado para usted, puede utilizar 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
Descargar Microsoft JDBC Driver 12.4.0 para SQL Server (zip)
Descargar Microsoft JDBC Driver 12.4.0 para SQL Server (tar.gz)
Si necesitas descargar el controlador en un idioma diferente al que se ha detectado, puedes usar estos enlaces 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 agregó 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, permitiendo pasar el nombre de la clase que implementa la 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 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 a la gestión de errores de XA para solucionar este problema. |
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 eliminar asignaciones innecesarias de cadenas, se mejora el rendimiento donde se usa este método. |
Se ha cambiado serverName enviado en LOGIN el paquete 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 Azure Synapse no admite la sintaxis usada en supportTransaction . |
Se han actualizado las llamadas sp_cursor para que se indiquen los nombres de tabla en lugar de una cadena vacía. | Soluciona un problema por el que se recibieron actualizaciones incoherentes de las filas ResultSet al actualizar tablas de uno a varios. |
Se ha actualizado supportsLikeEscapeClause() para comprobar la compatibilidad con Azure Data Warehouse. | Se ha corregido un problema que supportsLikeEscapeClause provocaba que se devolviera 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 mantener el cumplimiento con la especificación JDBC 8.1.0 de OSGi. |
Dependencias actualizadas | Se han actualizado las versiones de las dependencias para 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 #2174. |
Se ha corregido que lockTimeout no surta efecto cuando el modo de redireccionamiento está activado 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 dentro de Azure, como se hacía antes. Problema de GitHub n.º 2110. |
Se ha corregido el problema de un alto conteo 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 provocaba que los reintentos se produzcan demasiado rápidamente. Problema de GitHub #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 cero resultados devueltos metaQuery |
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, este problema devolvería un error indefinido de parámetro. Problema de GitHub n.º 2063. |
Se han corregido inserciones por lotes no válidas cuando las columnas proporcionadas en la inserción tienen un orden diferente al del esquema de la tabla | Se ha corregido un problema por el que el uso de useBulkCopyForBatchInsert=true puede provocar la combinación 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 si había 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 conservar durante la vida del proceso. |
12,2
Descargar Microsoft JDBC Driver 12.2.0 para SQL Server (zip)
Descargar 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 12.2
Cambio de 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
Descargar Microsoft JDBC Driver 12.2.0 para SQL Server (zip)
Descargar 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 tanto DefaultAzureCredential como IntelliJCredential desde la biblioteca de identidades de Azure mediante 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 agregó una propiedad de conexión datetimeParameterType , que permite a los usuarios especificar explícitamente conversiones para datetime o datetime2 , lo que proporciona mayor compatibilidad en bases de datos anteriores. |
Cambios en la versión 12.2
Cambio | 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. |
Ha convertido MSAL en una dependencia opcional | Ha vuelto a crear msal4j una dependencia opcional. |
Dependencias actualizadas | Se han actualizado las versiones de dependencia para 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 un NoClassDefFoundError . |
Correcciones en la versión 12.2
Corrección | 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 del error de SQL, el estado de SQL y el código de error mostraban información incorrecta. Problema de GitHub n.º 2015. |
Se ha corregido la recuperación de conexión inactiva para que unprocessedResponseCount no disminuya demasiado |
unprocessedResponseCount solo se debe disminuir cuando doneToken.isFinal es verdadero, se estaba disminuyendo independientemente. Problema de GitHub #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 verdadero/falso para enablePrepareOnFirstPreparedStatementCall y para prepexec/prepare. Problema de GitHub n.º 1961. |
Se han corregido problemas de simultaneidad en los métodos de cifrado y descifrado de ofuscación 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 instrucción invocable | Se han corregido los errores de las 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 | Agrega un caso omitido a la corrección anterior de DONE_ERROR, donde el controlador ignoró el estado DONE_ERROR del servidor resultante de una sesión terminada. Problema de GitHub n.º 1846. Problema de GitHub n.º 1505. |
Asegúrate de que batchParamValues se borre en todos los casos al ejecutar un lote. | Se ha corregido un problema por el que los lotes no se eliminaban correctamente en caso de fallo al usar la actualización masiva. Problema de GitHub #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. |
Condición de carrera fija en SecureStringUtil | Se ha corregido una condición de carrera en SecureStringUtil durante la creación de SecureStringUtil. |
11.2
Descargar Microsoft JDBC Driver 11.2.3 para SQL Server (zip)
Descargar 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 11.2
Cambio en el 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"
Descargar Microsoft JDBC Driver 11.2.2 para SQL Server (zip)
Descargue 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
Descargar Microsoft JDBC Driver 11.2.1 para SQL Server (zip)
Descargar 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
Descargar Microsoft JDBC Driver 11.2.0 para SQL Server (zip)
Descargar 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. Utilice la nueva configuración de conexión ipaddresspreference para controlar el comportamiento. Para obtener más información, consulte Establecimiento de las propiedades de conexión. |
Se ha añadido soporte para la selección del método 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. Usa la nueva configuración de conexión prepareMethod para controlar el comportamiento. Para obtener más información, consulte Establecimiento de las propiedades de conexión. |
Se agregó 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é. Vea 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 | Permitir el almacenamiento en caché de tokens obtenidos de los puntos de conexión de identidad administrada. |
Cambios en la versión 11.2
Cambio | Detalles |
---|---|
Compatibilidad con TDS 8.0 mediante la adición de la opción "strict" para cifrar la propiedad de conexión | CAMBIO IMPORTANTE La propiedad de encriptación de la conexión ahora es 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 agregó la opción para el protocolo NONE de modo 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 registro de errores mejorado en caso de falta de la biblioteca MSAL. | Se ha agregado un mensaje de error cuando falta MSAL al usar ActiveDirectoryServicePrincipal . |
Tiempo de espera de resistencia de conexión inactiva refactorizado para usar SharedTimer existente | Se ha mejorado la eficiencia con la resiliencia de conexión inactiva mediante el uso del SharedTimer existente. |
Se envía la versión 8 de TDS en Login7 al estar activado el 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 dependencia para azure-identity y azure-security-keyvault-keys . |
Correcciones en la versión 11.2
Corrección | Detalles |
---|---|
Se ha corregido el error causado por preparedMethod=prepare. | Se ha corregido un error intermitente de identificador de instrucción preparada nula causado por sp_prepare cuando se usa con consultas por lotes de 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 n.º 1852. |
Se ha corregido un error en la aserción que se produce al cancelar la instrucción "insertar en" | 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 desde una sesión eliminada en el servidor problema de GitHub n.º 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 quitado una llamada adicional a executeCommand que estaba causando 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
Descargar Microsoft JDBC Driver 10.2.3 para SQL Server (zip)
Descargar 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 Microsoft JDBC Driver 10.2.2 para SQL Server (zip)
Descargar Microsoft JDBC Driver 10.2.2 para SQL Server (tar.gz)
Si necesita descargar el controlador en un idioma distinto al que se le ha detectado, puede utilizar estos enlaces 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: 12 de mayo de 2022.
Descargar Microsoft JDBC Driver 10.2.1 para SQL Server (zip)
Descargar Microsoft JDBC Driver 10.2.1 para SQL Server (tar.gz)
Si necesita descargar el controlador en un idioma diferente al que se ha detectado para usted, puede usar estos enlaces 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
Cambio en el 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 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 memoria caché de instrucciones preparadas en reconexión de la resistencia de la 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
Lanzamiento: 12 de mayo de 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
Descargar Microsoft JDBC Driver 10.2.0 para SQL Server (zip)
Descargar 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. |
Soporte para la resiliencia de conexiones inactivas | Ahora se admite la Resistencia de conexión inactiva. Consulte Resiliencia de conexiones inactivas. |
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
Cambio | Detalles |
---|---|
Definir cifrado como verdadero por defecto | CAMBIO IMPORTANTE El cifrado TLS está habilitado de forma predeterminada. |
Validación de certificados cuando encrypt = false | CAMBIO IMPORTANTE Al cifrar = 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 están en desuso. Use nombre de usuario y contraseña en su lugar. |
Se ha quitado la API getAADSecretPrincipalId | CAMBIO IMPORTANTE La API getAADSecretPrincipalId se quita por motivos de seguridad. |
Compatibilidad con SQL_Variant | Se ha agregado compatibilidad con el tipo de datos SQL_Variant al recuperar DateTimeOffset. |
Desbloqueo aleatorio en Linux | Se ha actualizado 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 para azure-identity , azure-security-keyvault-keys , gson y bouncycastle . |
Correcciones en la versión 10.2
Corrección | Detalles |
---|---|
TDSParser se queda bloqueado 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
Descargar Microsoft JDBC Driver 9.4.1 para SQL Server (zip)
Descargar 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 9.4
Cambio de 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 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 bloqueo cuando el controlador encuentra TDS_COLMETADATA no admitidos
- 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
Descargar Microsoft JDBC Driver 9.4.0 para SQL Server (zip)
Descargar 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 ámbito de autenticación personalizado al usar la autenticación Kerberos. Vea Establecimiento de las propiedades de conexión. |
Reintento de conexión de apertura | Las propiedades de conexión connectRetryCount y connectRetryInterval se agregan para configurar reintentos automáticos al abrir 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
Cambio | 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 previa de enviar 0 para el ID del proceso del 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 eliminaron las referencias de clase específicas para Java 9 que no se usaban, del archivo jar de Java 8. |
Correcciones en la versión 9.4
Corrección | 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 | Corrección de un problema por el que trustStorePassword es 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
Descargar Microsoft JDBC Driver 9.2.1 para SQL Server (zip)
Descargar 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 9.2
Cambio de 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 ha corregido un problema que provocaba que el secreto de cliente estuviera vacío durante la autenticación ActiveDirectoryServicePrincipal en el entorno de Azure.
Número de versión: 9.2.0
Fecha de publicación: 29 de enero de 2021
Descargar Microsoft JDBC Driver 9.2.0 para SQL Server (zip)
Descargar 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
Adición de 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 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
Descargar el controlador JDBC de Microsoft 8.4 para SQL Server (zip)
Descarga 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 diferente al que se ha detectado para usted, puede usar estos enlaces 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 8.4
Cambio en el 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:
- Corrección de un problema en el que
SQLServerConnectionPoolProxy
no es compatible condelayLoadingLobs
- Se ha corregido un problema
NullPointerException
potencial condelayLoadingLobs
- Corrección de 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. | Vea Using Always Encrypted con el controlador JDBC. |
Soporte extendido para la copia en masa de Azure Data Warehouse
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 . |
Establecer delayLoadingLobs en FALSE hace que no se transmitan todos los objetos LOB recuperados del 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 mediante certificados de cliente para escenarios de bucle inverso.
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
Descargar Microsoft JDBC Driver 8.2 para SQL Server (zip)
Descargar 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 8.2
Cambio de 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 tipojava.time.LocalTime
ojava.time.LocalDate
conSQLServerResultSet.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 extraer 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. |
La mejora de rendimiento afecta a los siguientes tipos de datos temporales, en el formato "Tipo de datos de SQL Server" (mapeo de Java). | la fecha (java.sql.Date), el datetime (java.sql.Timestamp), el datetime2 (java.sql.Timestamp), el smalldatetime (java.sql.Timestamp), y la hora (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- |
|
El archivo DLL se carga 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
Descargar Microsoft JDBC Driver 7.4.1 para SQL Server (ejecutable autoextraíble)
Descargar 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 el controlador en un archivo exe 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 7.4
Cambio de 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 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()
yequals()
desdeSQLServerDataTable
ySQLServerDataColumn
, 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. | Vea Conectando usando autenticación NTLM. |
Presenta la consulta de ParameterMetaData a través de useFmtOnly
Cambio de useFmtOnly | Detalles |
---|---|
Propiedad de conexión useFmtOnly añadida. | Esta característica permite a los usuarios consultar de forma opcional ParameterMetaData a través de la API legacy 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. | |
Elimina SDK de Microsoft Azure para Key Vault WebKey como dependencia de Maven. | |
Más detalles. | Consulte Dependencias de características de Microsoft JDBC Driver for SQL Server. |
Problemas conocidos 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. | Las deficiencias en la lógica de análisis de SQL pueden provocar algunos problemas con la característica. Para obtener más información y sugerencias de solución alternativa, consulte Uso de useFmtOnly. |
7.2.2
Descargar Microsoft JDBC Driver 7.2.2 para SQL Server (ejecutable autoextraíble)
Descargar 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 el controlador en un archivo exe 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 7.2
Cambio de 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 ahora es compatible con Kit de Desarrollo de Java (JDK) versión 11.0, además de ser compatible 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 problemas que impedían la correcta limpieza de los ActivityIDs.
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 |
Introduce las API de SQLServerError
Cambio de la API de error | Detalles |
---|---|
Introducción de la API de SQLServerError. | API de captador para recuperar más detalles sobre el error generado en el servidor. • SQLServerException.getSQLServerError() • SQLServerError |
Más detalles. | Consulte Manejo 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 Dependencias de características de Microsoft JDBC Driver for 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 Dependencias de características del controlador JDBC de Microsoft 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
Descargar Microsoft JDBC Driver 7.0 para SQL Server (ejecutable autoextraíble)
Descargar 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 diferente al detectado, puede usar estos vínculos directos.
Para el controlador en un archivo exe 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 más información sobre las API de tipos de datos espaciales y cómo utilizarlas, vea Usando tipos de datos espaciales.
La implementación de JDBC 4.3 introdujo las API de java.sql.Connection, incluyendo los métodos beginRequest() y endRequest().
Microsoft JDBC Driver 7.0 para SQL Server ahora implementa beginRequest()
y endRequest()
APIs 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 en Detección y clasificación de datos de SQL.
Adición de propiedad de conexión: useBulkCopyForBatchInsert
Microsoft JDBC Driver 7.0 para SQL Server introduce 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 Usar la API de Bulk Copy para la operación de inserción por lotes.
Propiedad de conexión agregada: cancelQueryTimeout
Microsoft JDBC Driver 7.0 para SQL Server introduce una nueva propiedad de conexión, cancelQueryTimeout
, para cancelar queryTimeout
en los 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 reintroduce un constructor previamente eliminado, para SQLServerColumnEncryptionAzureKeyVaultProvider
. Permitió la autenticación a través de un método personalizado implementado sobre SQLServerKeyVaultAuthenticationCallback
para obtener 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, vea Dependencias de funciones del controlador JDBC de Microsoft para SQL Server.
6.4
Descargar Microsoft JDBC Driver 6.4 para SQL Server (ejecutable autoextraíble)
Descargar 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 necesita descargar el driver en un idioma distinto al que se ha detectado, puede usar estos enlaces directos.
Para el controlador en un archivo exe 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 el controlador en un archivo tar.gz: Chino (simplificado) | Inglés (Estados Unidos) | Alemán | Japonés | Portugués (Brasil) | 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 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 Cumplimiento de JDBC 4.3 para el controlador JDBC.
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 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 utilizan parámetros con valor de tabla (TVP).
Adición de compatibilidad para el tipo de datos sql_variant
El controlador JDBC 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
, odate
almacenados en una columnasql_variant
, la llamada al métodogetDateTime()
,getSmallDateTime()
ogetDate()
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()
ogetObject()
en su lugar.Uso de TVP con sql_variant para valores nulos:
Si está usando un 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 columnasql_variant
en un TVP no se admite actualmente.
Implementación del almacenamiento en caché de metadatos de sentencia preparada
El controlador JDBC ha implementado la caché de metadatos de instrucciones preparadas para mejorar el rendimiento. El controlador ahora soporta el almacenamiento en caché de los metadatos de las declaraciones preparadas 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 caractarísticas del controlador JDBC de Microsoft para SQL Server.
6.2
Descargar Microsoft JDBC Driver 6.2 para SQL Server (ejecutable autoextraíble)
Descarga 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 necesita descargar el controlador en un idioma distinto al detectado automáticamente para usted, puede usar estos enlaces directos.
Para el controlador en un archivo exe 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:
- Corrección de 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 enlaces 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. Luego, esta credencial suplantada se utiliza para establecer una conexión 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.
- Usa
Query timeout
para controlar el número de segundos que se deben aguardar antes de que ocurra un tiempo de espera al ejecutar una consulta. Socket timeout
especificar el número de milisegundos que se deben esperar antes de que se agote el tiempo de espera durante una operación de lectura o aceptación en un 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. Esta versión es la versión inicial de código abierto del controlador JDBC. 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
Descargar Microsoft JDBC Driver 6.0 para SQL Server (exe autoextraíble)
Descargar 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 el controlador en un archivo exe 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 la salida es "Versión del controlador: 6.0.7507.100", tiene el paquete JDBC Driver 6.0.
Connection conn = DriverManager.getConnection("jdbc:sqlserver://<server>;encrypt=true;user=<user>;password=<password>;");
System.out.println("Driver version: " + conn.getMetaData().getDriverVersion());
Siempre Cifrado
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 obtener más detalles, consulte 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 detalles, consulte "Uso de nombres de dominio internacionales" en el artículo Características internacionales del controlador JDBC.
Consultas parametrizadas
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, consulte 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 más detalles, consulte Usar parámetros con valores de tabla.
Grupos de disponibilidad Always On
El controlador ahora admite conexiones transparentes a Always On Availability Groups (Grupos de Disponibilidad Siempre Activos). 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
Descargar Microsoft JDBC Driver 4.2 para SQL Server (ejecutable autoextraíble)
Descargar 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 necesita descargar el controlador en un idioma distinto al detectado para usted, puede usar estos vínculos directos.
Para el controlador en un archivo exe 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 la salida es "Versión del controlador: 4.2.6420.100", tiene el paquete JDBC Driver 4.2.
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, consulte Uso de la autenticación integrada kerberos para conectarse a SQL Server.
4,1
descargar Microsoft JDBC Driver 4.1 para SQL Server (exe de extracción automática)
descargar microsoft JDBC Driver 4.1 para SQL Server (tar.gz)
Número de versión: 4.1.8112
Fecha de publicación: 12 de diciembre de 2014
Si necesita descargar el controlador en un idioma diferente al detectado, puede usar estos enlaces directos.
Para el controlador en un archivo exe 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
Compatibilidad con JDK 7
El controlador admite la versión 7.0 de JDK además de JDK 6.0 y 5.0.
4.0
descargar Microsoft JDBC Driver 4.0 para SQL Server (exe de extracción automática)
descargar microsoft JDBC Driver 4.0 para SQL Server (tar.gz)
Número de versión: 4.0.2206
Fecha de publicación: 6 de marzo de 2012
Si tiene que descargar el controlador en un idioma distinto al que se ha detectado, puede usar estos vínculos directos.
Para el controlador en un archivo exe 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
No se admite Itanium para aplicaciones de controlador JDBC
Microsoft JDBC Driver para SQL Server no se admite en equipos Itanium.