Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede especificar las propiedades cadena de conexión de varias maneras:
Como
<name>=<value>propiedades de la dirección URL de conexión al conectarse mediante la clase DriverManager. Para obtener la sintaxis de la cadena de conexión, consulte Building the connection URL (Creación de la dirección URL de conexión).Como
<name>=<value>propiedades del parámetro Properties del método Connect en la clase DriverManager.Como valores en el método establecedor adecuado del origen de datos del controlador. Por ejemplo:
datasource.setServerName(value) datasource.setDatabaseName(value)
Comentarios
Los nombres de propiedad no distinguen mayúsculas de minúsculas. El controlador resuelve los nombres de propiedad duplicados en el orden siguiente:
- Argumentos de API, como
userypassword - Colección de propiedades
- Última aparición de la cadena de conexión
- Argumentos de API, como
Puede usar valores desconocidos para los nombres de propiedad. El controlador JDBC no valida la distinción entre mayúsculas y minúsculas.
Puede usar sinónimos. El controlador los resuelve en orden, tal como lo hace con los nombres de propiedad duplicados.
El controlador JDBC de Microsoft para SQL Server toma los valores predeterminados del servidor para las propiedades de conexión, excepto
ANSI_DEFAULTSyIMPLICIT_TRANSACTIONS. El controlador JDBC de Microsoft para SQL Server establece automáticamenteANSI_DEFAULTSenONyIMPLICIT_TRANSACTIONSenOFF.Si configura la autenticación en
ActiveDirectoryPassword [DEPRECATED], incluya la siguiente biblioteca en el classpath: microsoft-authentication-library-for-java. Encuéntralo en Repositorio de Maven. La forma más sencilla de descargar la biblioteca y sus dependencias es mediante Maven:- Instale Maven en el sistema.
- Vaya a la página GitHub del controlador.
- Descargue el
pom.xmlarchivo. - Ejecute el siguiente comando de Maven para descargar la biblioteca y sus dependencias:
mvn dependency:copy-dependencies.
Propiedades
En las secciones siguientes se describen todas las propiedades de cadena de conexión disponibles actualmente para el controlador JDBC.
accessToken
-
Tipo:
String -
Predeterminado:
null
(Versión 6.0 y posteriores) Use esta propiedad para conectarse a una base de datos mediante un token de acceso. No se puede establecer accessToken mediante la dirección URL de conexión.
accessTokenCallbackClass
-
Tipo:
String -
Predeterminado:
null
(Versión 12.4+) Nombre de la clase de implementación de devolución de llamada que se va a usar con la devolución de llamada del token de acceso.
applicationIntent
-
Tipo:
String -
Predeterminado:
ReadWrite
(Versión 6.0 y posteriores) Declara el tipo de carga de trabajo de la aplicación para conectarse a un servidor.
Los valores posibles son ReadOnly y ReadWrite.
Para obtener más información sobre la recuperación ante desastres, consulte el artículo Compatibilidad del controlador JDBC con alta disponibilidad y recuperación ante desastres.
applicationName
-
Tipo:
String[<=128 char] -
Predeterminado:
null
El nombre de la aplicación o "Microsoft JDBC Driver para SQL Server" si no proporciona un nombre.
Use este nombre para identificar la aplicación específica en varias herramientas de generación de perfiles y registro de SQL Server.
authentication
-
Tipo:
String -
Predeterminado:
NotSpecified
(Versión 6.0 y posteriores) Esta propiedad opcional indica qué método de autenticación se debe usar para la conexión.
Los valores posibles son ActiveDirectoryIntegrated, ActiveDirectoryManagedIdentity (versión 12.2+), ActiveDirectoryMSI (versión 7.2+), ActiveDirectoryInteractive (versión 9.2+), ActiveDirectoryServicePrincipal (versión 9.2+), ActiveDirectoryPassword [DEPRECATED], SqlPasswordy el valor predeterminado NotSpecified.
Use ActiveDirectoryIntegrated (versión 6.0+) para conectarse a SQL mediante la autenticación integrada de Windows.
Use ActiveDirectoryManagedIdentity (versión 12.2+) o ActiveDirectoryMSI (versión 7.2+) para conectarse a SQL desde un recurso de Azure. Por ejemplo, una Máquina Virtual de Azure, App Service o Function App mediante autenticación de identidad administrada.
Los dos tipos de identidades administradas compatibles con el controlador al usar ActiveDirectoryManagedIdentity o ActiveDirectoryMSI el modo de autenticación son:
Identidad Administrada Asignada por el Sistema: se usa de forma predeterminada para adquirir
accessToken.Identidad Administrada Asignada por el Usuario: Se utiliza para obtener
accessTokensi se especifica el identificador de cliente de una identidad administrada con lamsiClientIdpropiedad de conexión.
Use ActiveDirectoryInteractive para conectarse a una base de datos mediante un flujo de autenticación interactivo.
Use ActiveDirectoryServicePrincipal (versión 9.2 y posteriores) para conectarse a una base de datos usando el ID de cliente y el secreto de una identidad de servicio principal. Especifique el identificador de cliente en la userName propiedad y el secreto de la password propiedad (10.2+).
Use ActiveDirectoryServicePrincipalCertificate (versión 12.4 y posteriores) para conectarse a una base de datos mediante el identificador de cliente y el certificado de una identidad de entidad de servicio. Especifique el identificador de cliente en la userName propiedad y la ruta de acceso al certificado de la clientCertificate propiedad .
Para obtener más opciones, consulte Conectar usando el modo de autenticación ActiveDirectoryServicePrincipalCertificate.
Use ActiveDirectoryPassword [DEPRECATED] para conectarse a SQL mediante un nombre principal y una contraseña de Microsoft Entra.
ActiveDirectoryPassword está en desuso.
Para obtener más información, consulte Conexión con el modo de autenticación ActiveDirectoryPassword.
Use SqlPassword para conectarse a SQL mediante las propiedades userName/user y password.
Use NotSpecified si no se necesita ninguno de estos métodos de autenticación.
Importante
Si la autenticación se establece en ActiveDirectoryIntegrated, se deben instalar las dos bibliotecas siguientes: mssql-jdbc_auth-<version>-<arch>.dll (disponible en el paquete de controladores JDBC) y Biblioteca de autenticación de Microsoft para SQL Server (ADAL.DLL). Biblioteca de autenticación de Microsoft se puede instalar desde Download ODBC Driver for SQL Server o Download Microsoft OLE DB Driver for SQL Server. El controlador JDBC solo admite la versión 1.0.2028.318 y posteriores para ADAL.DLL.
Al establecer la propiedad de autenticación en cualquier valor distinto de NotSpecified, el controlador utiliza de forma predeterminada el cifrado de la Capa de Transporte (TLS), anteriormente conocida como Sockets Seguros (SSL).
Para obtener información sobre cómo configurar la autenticación de Microsoft Entra, consulte autenticación Microsoft Entra para Azure SQL.
authenticationScheme
-
Tipo:
String -
Predeterminado:
NativeAuthentication
Indica qué tipo de seguridad integrada desea que use la aplicación.
Los valores posibles son JavaKerberos, NTLM (versión 7.4+) y el valor predeterminado NativeAuthentication.
NativeAuthentication hace que el controlador cargue mssql-jdbc_auth-<version>-<arch>.dll (por ejemplo, mssql-jdbc_auth-8.2.2.x64.dll) en Windows, que se usa para obtener información de autenticación integrada.
(La biblioteca de autenticación nativa cargada se denomina sqljdbc_auth.dll al usar las versiones del controlador 6.0 a la 7.4).
Al usar authenticationScheme=JavaKerberos, debe especificar el nombre de dominio completamente calificado (FQDN) en la propiedad serverName o serverSpn. De lo contrario, se produce un error (No se encontró el servidor en la base de datos de Kerberos).
Para obtener más información sobre el uso de authenticationScheme=JavaKerberos, consulte Usar la autenticación integrada de Kerberos para conectarse a SQL Server.
Al usar authenticationScheme=NTLM, debe especificar el dominio de Windows mediante la propiedad /domain o domainName, las credenciales Windows de la propiedad user o userName y la propiedad password. De lo contrario, se produce un error (deben especificarse las propiedades de conexión).
bulkCopyParaInserciónPorLotesPermitirModificacionesDeValoresCifrados
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.10+) Cuando establezca useBulkCopyForBatchInsert en true, configure esta opción en true para habilitar la copia masiva de datos cifrados entre tablas o bases de datos, sin necesidad de descifrarlos.
Para obtener más información y advertencias sobre el uso de esta propiedad, vea la allowEncryptedValueModifications opción en SQLServerBulkCopyOptions.
bulkCopyForBatchInsertBatchSize
-
Tipo:
int -
Predeterminado:
0
(Versión 12.10+) Cuando se establece useBulkCopyForBatchInsert en true, esta propiedad especifica el tamaño del lote para las operaciones de transferencia masiva que el controlador genera de operaciones de inserción por lotes.
Para obtener más información sobre los efectos de esta configuración, vea la BatchSize opción en SQLServerBulkCopyOptions.
bulkCopyForBatchInsertCheckConstraints
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.10+) Cuando haga uso de useBulkCopyForBatchInsert=true, establezca esta opción en true para habilitar restricciones de verificación al insertar datos. Establezca esta opción en false para deshabilitar las restricciones de verificación.
Para obtener más información sobre los efectos de esta configuración, vea la CheckConstraints opción en SQLServerBulkCopyOptions.
bulkCopyForBatchInsertFireTriggers
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.10+) Cuando use useBulkCopyForBatchInsert=true, establezca esta opción en true para habilitar la activación de desencadenadores de inserción al insertar filas en la base de datos. Establezca esta opción en false para deshabilitar los desencadenadores de inserción.
Para obtener más información sobre los efectos de esta configuración, vea la FireTriggers opción en SQLServerBulkCopyOptions.
bulkCopyForBatchInsertKeepIdentity
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.10+) Cuando use useBulkCopyForBatchInsert=true, configure esta opción en true para conservar los valores de identidad de origen al insertar datos. Establezca la opción en false para asignar valores de identidad según el destino.
Para obtener más información sobre los efectos de esta configuración, vea la KeepIdentity opción en SQLServerBulkCopyOptions.
bulkCopyForBatchInsertKeepNulls
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.10+) Cuando se usa useBulkCopyForBatchInsert=true, establezca esta opción en true para conservar valores NULL en la tabla de destino, independientemente de la configuración predeterminada del valor. Establezca esta opción en false para permitir que los valores predeterminados de destino reemplacen los valores NULL.
Para obtener más información sobre los efectos de esta configuración, vea la KeepNulls opción en SQLServerBulkCopyOptions.
bulkCopyForBatchInsertTableLock
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.10+) Cuando establezca useBulkCopyForBatchInsert en true, establezca esta opción en true para obtener un bloqueo de actualización masiva durante la operación de copia masiva. Establezca esta opción en false para usar bloqueos de fila.
Para obtener más información sobre los efectos de esta configuración, vea la TableLock opción en SQLServerBulkCopyOptions.
cacheBulkCopyMetadata
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.8+) Al usar useBulkCopyForBatchInsert=true, esta propiedad indica al controlador si debe almacenar en caché los metadatos de columna de destino en el nivel de conexión. Si se establece en true, asegúrese de que el destino no cambie entre inserciones masivas, ya que el controlador no tiene una manera de controlar este cambio.
calcBigDecimalPrecision
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.6+) Marca para indicar si el controlador debe calcular la precisión de las entradas BigDecimal, en lugar de usar el valor máximo permitido para la precisión (38).
cancelQueryTimeout
-
Tipo:
int -
Predeterminado:
-1
(Versión 6.4+) Use esta propiedad para cancelar un queryTimeout ajuste en la conexión. La ejecución de consultas deja de responder y no produce una excepción si la conexión TCP al servidor se quita silenciosamente. Esta propiedad solo es aplicable si queryTimeout también se establece en la conexión.
El controlador espera la cantidad total de cancelQueryTimeout + queryTimeout segundos, para quitar la conexión y cerrar el canal.
El valor predeterminado de esta propiedad es -1 y el comportamiento es esperar de forma indefinida.
clientCertificate
-
Tipo:
String -
Predeterminado:
null
(Versión 8.4+) Especifica la ubicación del certificado que se va a usar para la autenticación de certificados de cliente. El controlador JDBC admite las extensiones de archivo PFX, PEM, DER y CER.
Consulte Autenticación de certificados de cliente para escenarios de bucles invertidos.
clientKey
-
Tipo:
String -
Predeterminado:
null
(Versión 8.4+) Especifica la ubicación de la clave privada para los certificados PEM, DER y CER especificados por el clientCertificate atributo .
Consulte Autenticación de certificados de cliente para escenarios de bucles invertidos.
clientKeyPassword
-
Tipo:
String -
Predeterminado:
null
(Versión 8.4+) Especifica la cadena de contraseña opcional para acceder a la clientKey clave privada del archivo.
Consulte Autenticación de certificados de cliente para escenarios de bucles invertidos.
columnEncryptionSetting (configuraciónDeCifradoDeColumna)
-
Tipo:
String[Enabled|Disabled] -
Predeterminado:
Disabled
(Versión 6.0+) Establézcalo en Enabled para usar la característica Always Encrypted (AE). Cuando se habilita AE, el controlador JDBC cifra y descifra de forma transparente los datos confidenciales almacenados en columnas de base de datos cifradas en el servidor.
Para obtener más información sobre Always Encrypted, consulte Uso de Always Encrypted con el controlador JDBC.
Nota
Always Encrypted está disponible con SQL Server 2016 o posterior y Azure SQL Database.
concatNullYieldsNull
-
Tipo:
String[ON|OFF] -
Predeterminado:
ON
(Versión 13.2+) Cuando estableces esta opción en OFF, el controlador establece la variable de sesión de la base de datos CONCAT_NULL_YIELDS_NULL en OFF al establecer la conexión. El resultado es que la concatenación de un valor NULL con una cadena produce la propia cadena (el valor NULL se trata como una cadena vacía).
Para más información, consulte SET CONCAT_NULL_YIELDS_NULL.
connectRetryCount
-
Tipo:
int[0..255] -
Predeterminado:
1
(Versión 9.4 y posteriores) Número de intentos de reconexión si se produce un error de conexión.
connectRetryInterval
-
Tipo:
int[1..60] -
Predeterminado:
10
(Versión 9.4 y posteriores) Número de segundos entre cada reintento de conexión.
nombreBaseDeDatos, base de datos
-
Tipo:
String[<=128 char] -
Predeterminado:
null
Nombre de la base de datos a la que se conectará.
Si no especifica un nombre de base de datos, la conexión usa la base de datos predeterminada.
datetimeParameterType
-
Tipo:
String[datetime|datetime2|datetimeoffset] -
Predeterminado:
datetime2
(Versión 12.2+) Tipo de datos SQL que se va a usar para parámetros de fecha y timestamp de Java.
Cuando se conecta a SQL Server 2016 o versiones posteriores e interactúa con los valores heredados de datetime, establezca esta propiedad en datetime. Esta configuración mitiga los problemas de conversión del lado del servidor entre los valores de datetime y datetime2.
Para obtener más información, consulte Solución de la modificación del comportamiento de la conversión de datetime a datetime2 a partir de SQL Server 2016.
delayLoadingLobs
-
Tipo:
Boolean[true|false] -
Predeterminado:
true
Marca para indicar si se van a transmitir todos los objetos LOB recuperados del ResultSet. Al establecer esta propiedad en false se carga todo el objeto LOB en memoria sin streaming.
disableStatementPooling
-
Tipo:
Boolean[true|false] -
Predeterminado:
true
Bandera que indica si se debe usar la agrupación de sentencias.
domainName, domain
-
Tipo:
String -
Predeterminado:
null
(Versión 7.4+) El dominio de Windows para autenticarse al usar la autenticación NTLM.
habilitarPreparaciónEnPrimeraLlamadaDePreparedStatement
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
Establezca en true para habilitar la creación de manejadores de instrucciones preparadas mediante una llamada a sp_prepexec con la primera ejecución de una instrucción preparada.
Establézcalo en false para cambiar la primera ejecución de una instrucción preparada para llamar a sp_executesql y no preparar una instrucción. Si se produce una segunda ejecución, llama a sp_prepexec para configurar un identificador de instrucción preparada.
enclaveAttestationProtocol
-
Tipo:
String -
Predeterminado:
null
(Versión 8.2 y posteriores) Esta propiedad opcional indica el protocolo de atestación que se va a usar para Always Encrypted con enclaves seguros. Actualmente, los únicos valores admitidos para este campo son HGS, AASy NONE (NONE solo se admite en la versión 11.2+).
Para más información sobre Always Encrypted con enclaves seguros, consulte Uso de Always Encrypted con enclaves seguros con el controlador JDBC.
enclaveAttestationUrl
-
Tipo:
String -
Predeterminado:
null
(Versión 8.2 y posteriores) Esta propiedad opcional indica la dirección URL del punto de conexión del servicio de atestación que se va a usar para Always Encrypted con enclaves seguros.
Para más información sobre Always Encrypted con enclaves seguros, consulte Uso de Always Encrypted con enclaves seguros con el controlador JDBC.
cifrar
-
Tipo:
String -
Predeterminado:
null
Establezca en true para especificar que el Motor de Base de Datos SQL utiliza el cifrado TLS para todos los datos enviados entre el cliente y el servidor si el servidor tiene instalado un certificado. El valor predeterminado es true en la versión 10.2 y posteriores y false en la versión 9.4 y anteriores.
En la versión 6.0 y versiones posteriores, hay una nueva configuración authentication de conexión que usa el cifrado TLS de forma predeterminada.
Para obtener más información sobre esta propiedad, vea la propiedad authentication.
En la versión 11.2.0 y posteriores, encrypt se cambió de Boolean a string, lo que permite la compatibilidad con TDS 8.0 cuando la propiedad está establecida en strict.
El cambio predeterminado en la versión 10.2 es un cambio disruptivo. Si va a actualizar desde la versión 9.4 o anterior y el servidor no tiene un certificado TLS válido, establezca trustServerCertificatetrue en o proporcione un certificado válido.
failoverPartner
-
Tipo:
String -
Predeterminado:
null
Nombre del servidor de conmutación por error que se usa en la configuración de la creación de reflejo de la base de datos. Esta propiedad se usa para un error de conexión inicial al servidor principal. Después de realizar la conexión inicial, se omite esta propiedad. Debe usarse con la propiedad databaseName.
Nota
El controlador no admite el número de puerto de la instancia del servidor para la instancia del socio de conmutación por error como parte de la propiedad failoverPartner en la cadena de conexión. Sin embargo, el controlador admite la especificación de las propiedades serverName, instanceName y portNumber de la instancia de servidor principal, y la failoverPartner propiedad de la instancia de conmutación por error, en la misma cadena de conexión.
Si especifica un Nombre de Red Virtual en la propiedad de conexión Server, no puede usar el reflejo de base de datos.
Para obtener más información sobre la recuperación ante desastres, consulte el artículo Compatibilidad del controlador JDBC con alta disponibilidad y recuperación ante desastres.
fips
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
Establezca esta propiedad en true para la máquina virtual de Java (JVM) habilitada para FIPS.
fipsProvider
-
Tipo:
String -
Predeterminado:
null
Proveedor FIPS configurado en JVM, como BCFIPS o SunPKCS11-NSS. Se ha quitado en la versión 6.4.0.
Para más información, consulte el problema 460 de GitHub.
gsscredential
-
Tipo:
org.ietf.jgss.GSSCredential -
Predeterminado:
null
(Versión 6.2+) Pase las credenciales de usuario para la delegación restringida de Kerberos en esta propiedad.
Use esta configuración con integratedSecurity como true y JavaKerberos como authenticationScheme.
hostNameInCertificate
-
Tipo:
String -
Predeterminado:
null
Nombre de host que se va a usar para validar el certificado TLS/SSL de SQL Server.
La hostNameInCertificate opción se puede usar para especificar el nombre de host en situaciones en las que el nombre, o los nombres, usados en el certificado no coinciden con el nombre pasado a la serverName propiedad . Sin embargo, si hay una coincidencia, la opción hostNameInCertificate no se debe usar.
En situaciones en las que la propiedad />
Nota
Como se describe en el párrafo anterior, no establezca la opción hostNameInCertificate a menos que confirme que el o los nombres del certificado no coinciden con los nombres que pase en la opción serverName.
Utilice esta propiedad en combinación con las propiedades encrypt, authentication y la propiedad trustServerCertificate. Esta propiedad afecta a la validación del certificado si la conexión usa el cifrado TLS y se establece en trustServerCertificatefalse. Asegúrese de que el valor que pasa a hostNameInCertificate coincida con el Nombre Común (CN) o el nombre DNS en el Nombre Alternativo del Sujeto (SAN) en el certificado del servidor para que una conexión TLS se realice correctamente.
Para obtener más información, consulte el artículo Descripción de la compatibilidad con cifrado.
instanceName
-
Tipo:
String[<=128 char] -
Predeterminado:
null
Nombre de la instancia de base de datos a la que se va a conectar. Cuando no se especifica esta propiedad, se conecta a la instancia predeterminada. Para el caso en el que especifique tanto el instanceName como el puerto, consulte las notas de puerto.
Si especifica un nombre de red virtual en la propiedad de conexión Server, no puede usar la propiedad de conexión instanceName.
Para obtener más información sobre la recuperación ante desastres, consulte el artículo Compatibilidad del controlador JDBC con alta disponibilidad y recuperación ante desastres.
integratedSecurity
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
Establézcalo en true para indicar que SQL Server usan las credenciales de Windows en sistemas operativos Windows. Si true, el controlador JDBC busca en la caché de credenciales del ordenador local las credenciales proporcionadas cuando un usuario inició sesión en el ordenador o en la red.
Establezca true (con authenticationscheme=JavaKerberos) para indicar que SQL Server usa las credenciales de Kerberos.
Para obtener más información sobre la autenticación Kerberos, consulte Empleo de autenticación integrada de Kerberos para conectar con SQL Server.
Establezca en true (con authenticationscheme=NTLM), para indicar que SQL Server utiliza las credenciales NTLM.
Si false, se debe proporcionar el nombre de usuario y la contraseña.
ipaddresspreference
-
Tipo:
String[<=128 char] -
Predeterminado:
IPv4First
Preferencia de IP usada por la aplicación cliente.
Con IPV4First, el controlador recorre primero las direcciones IPv4. Si ninguna dirección IPv4 se puede conectar correctamente, el controlador continúa e intenta las direcciones IPv6, si hay alguna.
Con IPV6First, el controlador recorre primero las direcciones IPv6. Si ninguna dirección IPv6 se puede conectar correctamente, el controlador continúa e intenta las direcciones IPv4, si hay alguna.
Con UsePlatformDefault, el controlador recorre todas las direcciones IP en su orden inicial de la resolución DNS.
jaasConfigurationName
-
Tipo:
String -
Predeterminado:
SQLJDBCDriver
(Versión 6.2 y posteriores) Cada conexión a SQL Server puede usar su propio nombre de configuración de inicio de sesión JAAS para establecer la conexión Kerberos. Puede transmitir el nombre de la entrada de configuración mediante esta propiedad. Use esta propiedad al crear un archivo de configuración kerberos. De forma predeterminada, el controlador busca el nombre SQLJDBCDriver.
Si el controlador no encuentra una configuración externa, establece useDefaultCcache=true para JVM de IBM y useTicketCache=true para otros JVM.
keyStoreAuthentication
-
Tipo:
String -
Predeterminado:
null
(Versión 6.0 y posteriores) Esta propiedad identifica el almacén de claves que se va a usar para la conexión con Always Encrypted y determina un mecanismo de autenticación usado para autenticarse en el almacén de claves. El controlador admite la configuración del almacén de claves de Java sin problemas al establecer keyStoreAuthentication=JavaKeyStorePassword. Para usar esta propiedad, también debe establecer las propiedades keyStoreLocation y keyStoreSecret para el almacén de claves de Java.
A partir del controlador JDBC de Microsoft 8.4, puede establecer keyStoreAuthentication=KeyVaultManagedIdentity o keyStoreAuthentication=KeyVaultClientSecret para autenticarse en Azure Key Vault mediante Identidades Administradas.
Para obtener más información sobre Always Encrypted, consulte Uso de Always Encrypted con el controlador JDBC.
keyStoreLocation
-
Tipo:
String -
Predeterminado:
null
(Versión 6.0+) Cuando keyStoreAuthentication=JavaKeyStorePassword, la propiedad keyStoreLocation identifica la ruta de acceso al archivo de almacén de claves de Java que almacena la clave maestra de columna que se usará con datos Always Encrypted. La ruta de acceso debe incluir el nombre del archivo del almacén de claves.
Para obtener más información sobre Always Encrypted, consulte Uso de Always Encrypted con el controlador JDBC.
keyStorePrincipalId
-
Tipo:
String -
Predeterminado:
null
(Versión 8.4+) Cuando keyStoreAuthentication=KeyVaultManagedIdentity, la propiedad keyStorePrincipalId especifica un identificador de cliente de aplicación de Microsoft Entra válido.
Para obtener más información sobre Always Encrypted, consulte Uso de Always Encrypted con el controlador JDBC.
keyStoreSecret
-
Tipo:
String -
Predeterminado:
null
(Versión 6.0+) Cuando keyStoreAuthentication=JavaKeyStorePassword, la keyStoreSecret propiedad identifica la contraseña que se va a usar para el almacén de claves y la clave. Cuando se usa el almacén de claves de Java, el almacén de claves y la contraseña de la clave deben ser los mismos.
Para obtener más información sobre Always Encrypted, consulte Uso de Always Encrypted con el controlador JDBC.
lastUpdateCount
-
Tipo:
Boolean[true|false] -
Predeterminado:
true
Un true valor devuelve solo el último recuento de actualizaciones de una instrucción SQL que se pasa al servidor. Use este valor con solo instrucciones SELECT, INSERT o DELETE para omitir otros recuentos de actualizaciones que pueden causar los desencadenadores del servidor. Establezca esta propiedad en false para devolver todos los recuentos de actualizaciones, incluidos los que los desencadenadores del servidor devuelven.
Nota
Esta propiedad solo se aplica cuando se usa con los métodos executeUpdate . Todos los demás métodos execute devuelven todos los resultados y recuentos de actualización. Esta propiedad solo afecta a los recuentos de actualizaciones que devuelven los desencadenadores del servidor. No afecta a los conjuntos de resultados o errores que resultan como parte de la ejecución del desencadenador.
lockTimeout
-
Tipo:
int -
Predeterminado:
-1
Número de milisegundos que se deben esperar antes de que la base de datos notifique un tiempo de espera de bloqueo. El comportamiento predeterminado es esperar indefinidamente. Si no especifica un valor para esta propiedad, este valor es el valor predeterminado para todas las instrucciones de la conexión.
Como alternativa, use Statement.setQueryTimeout() para establecer el tiempo de espera de consulta para sentencias específicas. El valor puede ser 0, lo que significa que no hay espera.
loginTimeout
-
Tipo:
int[0..65535] -
Valor predeterminado:
30(versión 11.2 y posteriores) o15(versión 10.2 y anteriores)
Número de segundos que debería esperar el controlador antes de agotar el tiempo de espera de una conexión errónea. Un valor cero indica que el tiempo de espera es el predeterminado del sistema. Este valor es de 30 segundos (el valor predeterminado en la versión 11.2 y posteriores) o 15 segundos (el valor predeterminado en la versión 10.2 y anteriores). Un valor diferente a cero es el número de segundos que debería esperar el controlador antes de agotar el tiempo de espera de una conexión errónea.
Si indica un Nombre de Red Virtual en la propiedad de conexión Server, indique un límite de tiempo de espera de tres minutos o más para permitir tiempo suficiente para que la conexión de conmutación por error tenga éxito.
Para obtener más información sobre la recuperación ante desastres, consulte el artículo Compatibilidad del controlador JDBC con alta disponibilidad y recuperación ante desastres.
maxResultBuffer
-
Tipo:
String -
Predeterminado:
null
(Versión 9.2+) Use maxResultBuffer para establecer el número máximo de bytes que se leerán al leer un conjunto de resultados. Si no especifica este valor, el controlador lee todo el conjunto de resultados. Puede especificar el tamaño en dos estilos:
- Como tamaño en bytes (por ejemplo,
100,150M,300K,400G). - Como porcentaje de memoria máxima del montón (por ejemplo,
10p,15pct,20percent).
msiClientId
-
Tipo:
String -
Predeterminado:
null
(en desuso) (Versión 7.2+) Identificador de cliente de la identidad administrada (MSI) que se usa para adquirir un accessToken para establecer una conexión utilizando el modo de autenticación ActiveDirectoryManagedIdentity o ActiveDirectoryMSI.
multiSubnetFailover
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
Especifique siempre multiSubnetFailover=true para conectarse al agente de escucha del grupo de disponibilidad de un grupo de disponibilidad de SQL Server o a una instancia de clúster de conmutación por error de SQL Server.
multiSubnetFailover=true configura el controlador para proporcionar una detección más rápida de y la conexión al servidor activo.
Los valores posibles son true y false.
Para obtener más información sobre la recuperación ante desastres, consulte el artículo Compatibilidad del controlador JDBC con alta disponibilidad y recuperación ante desastres.
Puede acceder mediante programación a la multiSubnetFailover propiedad de conexión mediante getPropertyInfo, getMultiSubnetFailover y setMultiSubnetFailover.
Nota
A partir del Microsoft JDBC Driver 6.0 para SQL Server, ya no es necesario establecer multiSubnetFailover en true para conectarse a un listener del grupo de disponibilidad. Una nueva propiedad, , transparentNetworkIPResolutionque está habilitada de forma predeterminada, proporciona la detección de y la conexión al servidor activo.
packetSize
-
Tipo:
int[-1|0|512..32767] -
Predeterminado:
8000
El tamaño del paquete de red se usa para establecer la comunicación con el servidor y se especifica en bytes. El valor -1 indica que se usa el tamaño de paquete de servidor predeterminado. Un valor de 0 indica que se debe usar el valor máximo de 32767. Si establece esta propiedad en un valor fuera del intervalo aceptable, se produce una excepción.
Importante
No use la packetSize propiedad cuando el cifrado esté habilitado (encrypt=true). De lo contrario, el controlador podría generar un error de conexión.
Para obtener más información sobre esta propiedad, consulte el método setPacketSize de la clase SQLServerDataSource.
contraseña
-
Tipo:
String[<=128 char] -
Predeterminado:
null
La contraseña de la base de datos, si se conecta con un usuario y una contraseña de SQL.
Para la conexión Kerberos con el nombre principal de Kerberos y la contraseña, configure esta propiedad como la contraseña del principal de Kerberos.
(Versión 10.2+) Cuando authentication=ActiveDirectoryServicePrincipal, la propiedad password identifica la contraseña que se utilizará para la cuenta de usuario de Active Directory.
númeroDePuerto, puerto
-
Tipo:
int[0..65535] -
Predeterminado:
1433
Puerto en el que está escuchando el servidor. Si especifica el número de puerto en el cadena de conexión, no se realiza ninguna solicitud a SQLbrowser. Al especificar tanto el puerto como instanceName, la conexión se realiza al puerto especificado. Sin embargo, instanceName se valida y se produce un error si no coincide con el puerto.
Importante
Especifique siempre el número de puerto, ya que es más seguro que usar SQLbrowser.
prepareMethod
-
Tipo:
String[prepexec|prepare|scopeTempTablesToConnection|none] -
Predeterminado:
prepexec
(Versión 11.2.0+) Especifica el método de preparación subyacente que usa el controlador con instrucciones preparadas.
Establecer en prepare para usar sp_prepare como método de preparación. Establecer prepareMethod en este valor da como resultado un viaje inicial independiente a la base de datos para preparar la instrucción sin ningún valor inicial para que la base de datos lo tenga en cuenta en el plan de ejecución. Establecer en prepexec para usar sp_prepexec como método de preparación. Este método combina la acción de preparación con la primera ejecución, lo que reduce los recorridos de ida y vuelta. También proporciona a la base de datos valores de parámetro iniciales que la base de datos puede tener en cuenta en el plan de ejecución.
(Versión 13.4.0+) Establézcalo scopeTempTablesToConnection para definir el ámbito de las tablas temporales creadas en instrucciones preparadas a la conexión mediante la sustitución de parámetros literales en lugar de los identificadores preparados del lado servidor. Establezca none para aplicar la sustitución literal de parámetros durante la ejecución de lotes SQL, omitiendo los manejadores de instrucciones preparadas en el servidor (sp_prepexec / sp_prepare).
Limitaciones y declinaciones de responsabilidades para scopeTempTablesToConnection y none:
Estas prepareMethod opciones están pensadas para escenarios de compatibilidad y migración, no para el uso general del rendimiento.
- No hay instrucciones preparadas del lado servidor; SQL siempre se ejecuta como un lote.
- Requiere
FORCED_PARAMETERIZATIONpara una reutilización eficaz del plan. - Los parámetros se insertan como literales en lugar de como tipos enlazados.
- La precisión numérica y la escala pueden diferir del enlace de parámetros del lado servidor.
- El controlador da formato a los valores de fecha y hora como cadenas.
- Los parámetros de cadena grandes aumentan el tamaño de texto SQL y el uso de memoria.
- Los parámetros BLOB y CLOB pueden provocar un uso elevado de memoria o condiciones de memoria insuficiente.
- SQL Server infiere los tipos de datos de parámetros durante el análisis de SQL.
- Los planes de consulta pueden variar debido a diferencias en los valores literales.
- Los errores se detectan en tiempo de ejecución en lugar de en tiempo de enlace.
- SQL ejecutado incluye valores literales y es visible en los registros y seguimientos del servidor.
queryTimeout
-
Tipo:
int -
Predeterminado:
-1
El número de segundos que hay que esperar antes de que se haya superado el tiempo de espera de una consulta. El valor predeterminado es -1, lo que significa que el tiempo de espera es infinito. Establecer este valor en 0 también implica esperar de forma indefinida.
quotedIdentifier
-
Tipo:
String[ON|OFF] -
Predeterminado:
ON
(Versión 13.2+) Cuando estableces esta opción en OFF, el controlador establece la variable de sesión de la base de datos QUOTED_IDENTIFIER en OFF al establecer la conexión. La base de datos trata las comillas dobles como delimitadores de cadena para literales de caracteres, y no se pueden encerrar identificadores entre comillas dobles.
Para más información, consulte SET QUOTED_IDENTIFIER.
realm
-
Tipo:
String -
Predeterminado:
null
(Versión 9.4 y posteriores) Dominio de la autenticación Kerberos. Al establecer este valor, se invalidará el dominio de autenticación Kerberos que el controlador detecta automáticamente desde el dominio kerberos del servidor.
replicación
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 9.4 y posteriores) Esta configuración indica al servidor si la conexión se usa para la replicación. Si se habilita, los desencadenadores con la opción NOT FOR REPLICATION no se activarán en la conexión.
responseBuffering
-
Tipo:
String[full|adaptive] -
Predeterminado:
adaptive
Si establece esta propiedad en adaptive, el controlador almacena en búfer la cantidad mínima de datos cuando sea necesario. El modo predeterminado es adaptive.
Si establece esta propiedad en full, el controlador lee todo el conjunto de resultados del servidor al ejecutar una instrucción.
Nota
A partir de la versión 1.2 del controlador JDBC, el comportamiento de almacenamiento en búfer predeterminado es adaptive. Para usar el comportamiento predeterminado de la versión 1.2 en la aplicación, establezca la responseBuffering propiedad full en las propiedades de conexión o con el método setResponseBuffering del objeto clase SQLServerStatement.
selectMethod
-
Tipo:
String[direct|cursor] -
Predeterminado:
direct
Si establece esta propiedad en cursor, el controlador crea un cursor de base de datos para cada consulta que crea en la conexión para los cursores TYPE_FORWARD_ONLY y CONCUR_READ_ONLY. Normalmente, solo necesita esta propiedad si la aplicación genera grandes conjuntos de resultados que no caben totalmente en la memoria del cliente. Si establece esta propiedad en cursor, el controlador solo mantiene un número limitado de filas del conjunto de resultados en la memoria del cliente.
De forma predeterminada, el controlador mantiene todas las filas del conjunto de resultados en la memoria del cliente. Este comportamiento predeterminado proporciona el rendimiento más rápido cuando la aplicación procesa todas las filas.
sendStringParametersAsUnicode
-
Tipo:
Boolean[true|false] -
Predeterminado:
true
Si establece la propiedad sendStringParametersAsUnicode en true, el controlador envía parámetros de cadena al servidor en formato Unicode.
Si establece la propiedad sendStringParametersAsUnicode en false, el controlador envía parámetros de cadena al servidor en formatos no Unicode, como ASCII o MBCS, en lugar de Unicode.
El valor predeterminado para la propiedad sendStringParametersAsUnicode es true.
Nota
El controlador comprueba la propiedad sendStringParametersAsUnicode solo al enviar un valor de parámetro con los tipos JDBC CHAR, VARCHAR o LONGVARCHAR. Los nuevos métodos de caracteres nacionales JDBC 4.0 incluyen métodos como setNString, setNCharacterStream y setNClob de la clase SQLServerPreparedStatement Class y de la clase SQLServerCallableStatement Class. Estos métodos siempre envían los valores de sus parámetros al servidor en Unicode, independientemente de la configuración de esta propiedad.
Para obtener un rendimiento óptimo con los tipos de datos JDBC CHAR, VARCHAR y LONGVARCHAR, una aplicación debe establecer la propiedad sendStringParametersAsUnicode en false y usar los métodos de caracteres no nacionales setString, setCharacterStream y setClob de las clases Clase SQLServerPreparedStatement y Clase SQLServerCallableStatement.
Cuando la aplicación establece la propiedad sendStringParametersAsUnicode a false y usa un método de caracteres no nacionales para acceder a los tipos de datos Unicode en el lado del servidor (como nchar, nvarchar, y ntext), es posible que se pierdan algunos datos si la intercalación de la base de datos no admite los caracteres en los parámetros String pasados por el método de caracteres no nacionales.
Una aplicación debe usar los setNStringmétodos de caracteres nacionales , setNCharacterStreamy setNClob de las clases clase SQLServerPreparedStatement y SQLServerCallableStatement para los NCHARtipos de datos , NVARCHARy LONGNVARCHAR JDBC.
Cambiar este valor puede afectar a la ordenación de los resultados de la base de datos. Las diferencias de ordenación se deben a diferentes reglas de ordenación para caracteres Unicode y no Unicode.
sendTiposDeDatosTemporalesComoCadenaParaCopiaMasiva
-
Tipo:
Boolean[true|false] -
Predeterminado:
true
(Versión 8.4+) Cuando establece esta propiedad de conexión en false, el controlador envía los tipos de datos DATE, DATETIME, DATETIME2, DATETIMEOFFSET, SMALLDATETIME, y TIME como sus respectivos tipos en lugar de enviarlos como String.
Al establecer esta propiedad de conexión en false, el controlador acepta el formato literal de cadena predeterminado de cada tipo de datos temporal, por ejemplo:
-
DATE:YYYY-MM-DD -
DATETIME:YYYY-MM-DD hh:mm:ss[.nnn] -
DATETIME2:YYYY-MM-DD hh:mm:ss[.nnnnnnn] -
DATETIMEOFFSET:YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+/-}hh:mm] -
SMALLDATETIME:YYYY-MM-DD hh:mm:ss -
TIME:hh:mm:ss[.nnnnnnn]
sendTimeAsDatetime
-
Tipo:
Boolean[true|false] -
Predeterminado:
true
Esta propiedad se agregó en JDBC Driver 3.0 para SQL Server.
Establezca
truepara enviar al servidor valores de java.sql.Time como valores de SQL Serverdatetime.Establezca
falsepara enviar al servidor valores de java.sql.Time como valores de SQL Servertime.
El valor predeterminado de esta propiedad es actualmente true y podría cambiar en una versión futura.
Para obtener más información sobre cómo el controlador JDBC de Microsoft para SQL Server configura los valores java.sql.Time antes de enviarlos al servidor, consulte Configurar cómo se envían los valores java.sql.Time.
certificadoDelServidor, servidor
-
Tipo:
String -
Predeterminado:
null
(Versión 11.2.0+) Ruta de acceso al archivo de certificado de servidor. El controlador utiliza este certificado para la validación cuando configuras encrypt en strict. El controlador admite archivos de certificado que usan el formato de archivo PEM.
serverName, server
-
Tipo:
String -
Predeterminado:
null
Equipo que ejecuta SQL Server o una base de datos de Azure SQL.
También puede especificar el nombre de red virtual de un grupo de disponibilidad.
Para obtener más información sobre la recuperación ante desastres, consulte el artículo Compatibilidad del controlador JDBC con alta disponibilidad y recuperación ante desastres.
serverNameAsACE
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 6.0+) true Establézcalo en para indicar que el controlador debe traducir el nombre del servidor Unicode a la codificación compatible con ASCII (Punycode) para la conexión. Si esta configuración es false, el controlador usa el nombre del servidor tal como se proporciona para conectarse.
Para obtener más información sobre las características internacionales, consulte Características internacionales del controlador JDBC.
serverPreparedStatementDiscardThreshold
-
Tipo:
int -
Predeterminado:
10
(Versión 6.2+) Use esta propiedad para controlar cuántas acciones de descarte de instrucciones preparadas pendientes (sp_unprepare) pueden estar pendientes por conexión antes de que el controlador limpie los identificadores pendientes en el servidor.
Si establece esta propiedad <= 1en , el controlador ejecuta inmediatamente acciones no preparadas al cerrar la instrucción preparada. Si establece la propiedad en > 1, el controlador agrupa estas llamadas para evitar la sobrecarga de llamar a sp_unprepare con demasiada frecuencia.
serverSpn
-
Tipo:
String -
Predeterminado:
null
(Versión 4.2+) Use esta propiedad opcional para especificar el Service Principal Name (SPN) para una conexión Kerberos de Java. Úselo con authenticationScheme.
Para especificar el SPN, use el formulario: MSSQLSvc/fqdn:port@REALM donde fqdn es el nombre de dominio completo, el puerto es el número de puerto y REALM es el dominio Kerberos del SQL Server en mayúsculas.
Nota
El @REALM es opcional si el dominio kerberos predeterminado del cliente (como se especifica en la configuración de Kerberos) es el mismo que el dominio kerberos para el SQL Server.
Para obtener más información sobre el uso de serverSpn con Java Kerberos, consulte Usar la autenticación integrada de Kerberos para conectarse a SQL Server.
socketFactoryClass
-
Tipo:
String -
Predeterminado:
null
(Versión 8.4+) Especifica el nombre de clase de un generador de sockets personalizado que se va a usar en lugar del generador de sockets predeterminado.
socketTimeout
-
Tipo:
int -
Predeterminado:
0
Número de milisegundos que se deben esperar antes de que se produzca un tiempo de espera en una lectura o aceptación de socket. El valor predeterminado es 0, lo que significa que el tiempo de espera es infinito.
statementPoolingCacheSize
-
Tipo:
int -
Predeterminado:
0
(Versión 6.4+) Utilice esta propiedad para habilitar el almacenamiento en caché del control de las declaraciones preparadas en el controlador.
Esta propiedad define el tamaño de la memoria caché para la agrupación de instrucciones.
Use esta propiedad solo con la disableStatementPooling propiedad de conexión, que debe establecer en false. Establecer disableStatementPooling en true o statementPoolingCacheSize en 0 deshabilita el almacenamiento en caché del controlador de instrucciones preparadas.
sslProtocol
-
Tipo:
String -
Predeterminado:
TLS
(Versión 6.4+) Use esta propiedad para especificar el protocolo TLS que se debe tener en cuenta durante la conexión segura.
Los valores posibles son TLS, TLSv1, TLSv1.1 y TLSv1.2
Para más información sobre el protocolo Capa de sockets seguros, consulte SSLProtocol.
transparentNetworkIPResolution
-
Tipo:
Boolean[true|false] -
Predeterminado:
true
(Versión 6.0+) Esta propiedad proporciona una detección más rápida de y la conexión al servidor activo. Establézcalo en true o false. El valor predeterminado es true.
Antes del controlador JDBC Driver 6.0 de Microsoft para SQL Server, una aplicación tenía que establecer la cadena de conexión para incluir multiSubnetFailover=true para indicar que se estaba conectando a un grupo de disponibilidad Always On. Sin establecer la palabra clave de conexión multiSubnetFailover en true, una aplicación podría experimentar un tiempo de espera al intentar conectarse a un grupo de disponibilidad Always On. A partir de la versión 6.0, ya no se requiere que una aplicación establezca multiSubnetFailover en true.
Nota
Cuando se usa la autenticación federada o se especifica multisubnetfailover, el controlador se deshabilita transparentNetworkIPResolution de forma predeterminada. Para habilitar esta característica, establezca transparentNetworkIPResolution en true.
Cuando transparentNetworkIPResolution=true, el primer intento de conexión usa 500 ms como tiempo de espera. Los intentos posteriores usan la misma lógica de tiempo de espera que la propiedad multiSubnetFailover.
trustManagerClass
-
Tipo:
String -
Predeterminado:
null
(Versión 6.4 y posteriores) El nombre de clase completo de una implementación de javax.net.ssl.TrustManager personalizada.
trustManagerConstructorArg
-
Tipo:
String -
Predeterminado:
null
(Versión 6.4 y posteriores) Un argumento opcional que se debe pasar al constructor de trustManager. Si especifica la trustManagerClass propiedad y solicita una conexión cifrada, el controlador usa trustManager personalizado en lugar del trustManager del sistema predeterminado basado en el almacén de claves de JVM.
trustServerCertificate
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
Se establece en true para especificar que el controlador no valida el certificado TLS/SSL del servidor.
Si es
true, se confía automáticamente en el certificado TLS/SSL del servidor cuando la capa de comunicación se cifra mediante TLS.Si es
false, el controlador validará el certificado TLS/SSL del servidor. Si se produce un error en la validación del certificado de servidor, el controlador genera un error y cierra la conexión. El valor predeterminado esfalse. Asegúrese de que el valor pasado aserverNamecoincide exactamente con el nombre común (CN) o el nombre DNS en el nombre alternativo del firmante en el certificado de servidor para que una conexión TLS/SSL se realice correctamente.
Para obtener más información, consulte el artículo Descripción de la compatibilidad con cifrado.
Nota
Utilice esta propiedad con las propiedades encrypt y authentication. Esta propiedad solo afecta a la validación del certificado TLS/SSL de servidor si la conexión usa el cifrado TLS.
trustStore
-
Tipo:
String -
Predeterminado:
null
Ruta de acceso (incluido el nombre de archivo) al archivo de certificado trustStore . El trustStore archivo contiene la lista de certificados en los que confía el cliente.
Cuando no se especifica esta propiedad o se establece en NULL, el controlador usa las reglas de búsqueda de la factoría del administrador de confianza para decidir qué almacén de certificados se va a usar.
La TrustManagerFactory predeterminada SunX509 intenta encontrar el material de confianza en el siguiente orden de búsqueda:
- Archivo especificado por la propiedad del
javax.net.ssl.trustStoresistema JVM. - Archivo
<java-home>/lib/security/jssecacerts. - Archivo
<java-home>/lib/security/cacerts.
Para obtener más información sobre la interfaz de SUNX509 TrustManager, consulte la documentación en el sitio web de Sun Microsystems.
Nota
Esta propiedad solo afecta a la búsqueda de certificados trustStore si la conexión usa cifrado TLS y la trustServerCertificate propiedad se establece en false.
trustStorePassword
-
Tipo:
String -
Predeterminado:
null
Contraseña usada para comprobar la integridad de los trustStore datos.
Si establece la trustStore propiedad pero no establece la trustStorePassword propiedad , el controlador no comprueba la integridad de trustStore.
Cuando no se especifican las trustStore propiedades y trustStorePassword , el controlador usa las propiedades javax.net.ssl.trustStore del sistema JVM y javax.net.ssl.trustStorePassword. Si no especifica la propiedad del sistema javax.net.ssl.trustStorePassword, el controlador no comprueba la integridad de la trustStore.
Si no establece la trustStore propiedad pero establece la trustStorePassword propiedad , el controlador JDBC usa el archivo que javax.net.ssl.trustStore especifica como almacén de confianza. El controlador comprueba la integridad del almacén de confianza mediante el especificado trustStorePassword. Este valor es necesario cuando la aplicación cliente no quiere almacenar la contraseña en la propiedad del sistema de JVM.
Nota
La trustStorePassword propiedad solo afecta a la búsqueda de certificados trustStore , si la conexión usa la conexión TLS y la trustServerCertificate propiedad se establece en false.
trustStoreType
-
Tipo:
String -
Predeterminado:
JKS
Establezca esta propiedad para especificar el tipo de almacén de confianza que se va a usar para el modo FIPS.
Los valores posibles son PKCS12 o tipos definidos por el proveedor FIPS.
useBulkCopyForBatchInsert
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 9.2+) Al habilitar esta propiedad de conexión, el controlador usa de forma transparente la API de copia masiva para las operaciones de inserción por lotes que usan java.sql.PreparedStatement. Esta característica puede proporcionar un mejor rendimiento.
Esta característica está deshabilitada de manera predeterminada. Establezca esta propiedad en true para habilitarla.
Importante
Esta característica solo admite consultas totalmente parametrizadas INSERT . Si combina las INSERT consultas con otras consultas SQL o si las consultas contienen datos en valores, la ejecución vuelve a la operación básica de inserción por lotes.
Para obtener más información sobre cómo usar esta propiedad, consulte Uso de la API de copia masiva para la operación de inserción por lotes.
useDefaultGSSCredential
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.6+) Marca para indicar si el controlador debe crear GSSCredential en nombre del usuario para usar GSS-API nativa para la autenticación Kerberos.
useDefaultJaasConfig
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 12.6+) Cuando la aplicación existe junto con bibliotecas que configuran JAAS en el nivel de sistema, establezca esta propiedad true en para permitir que el controlador use esa misma configuración para realizar la autenticación Kerberos.
useFmtOnly
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
(Versión 7.4 y posteriores) Proporciona una forma alternativa de consultar los metadatos de parámetros del servidor. Establezca esta propiedad en true para especificar que el controlador debe usar la lógica de SET FMTONLY al consultar Metadatos de Parámetros. Esta característica está desactivada de forma predeterminada y no se recomienda usar esta propiedad, ya que SET FMTONLY está marcada para su desuso.
useFmtOnly está disponible para usarse solo como solución alternativa para problemas conocidos y limitaciones en sp_describe_undeclared_parameters.
Actualmente, esta característica solo admite consultas SELECT/INSERT/UPDATE/DELETE únicas. Al intentar usar esta característica con consultas no admitidas o varias, el controlador intenta analizar la consulta, pero lo más probable es que se produzca una excepción.
Para obtener más información sobre esta propiedad, consulte Recuperación de ParameterMetaData a través de useFmtOnly.
nombreDeUsuario, usuario
-
Tipo:
String[<=128 char] -
Predeterminado:
null
El usuario de la base de datos, si se conecta mediante un usuario SQL y una contraseña.
Para la conexión Kerberos mediante el nombre principal y la contraseña, establezca esta propiedad en el nombre principal de Kerberos.
(Versión 10.2+) Cuando authentication=ActiveDirectoryServicePrincipal, la propiedad userName especifica un identificador de cliente seguro Microsoft Entra válido.
vectorTypeSupport
-
Tipo:
String[v2|v1|off] -
Predeterminado:
v1
(Versión 13.2+) off Establézcalo en para especificar que el servidor envía tipos de vectores como datos de cadena en formato JSON y v1 para especificar que el servidor envía tipos vectoriales de FLOAT32 como datos vectoriales. El valor predeterminado es v1.
(Versión 13.4+) Establézcalo en v2 para habilitar la compatibilidad del tipo de vector nativo tanto para vectores FLOAT32 como para FLOAT16.
FLOAT16 vectores usan serialización de precisión media IEEE-754 en el cable y se exponen como matrices Float[] en Java.
Para obtener más información, consulte Uso del tipo de datos vectorial con el controlador JDBC.
workstationID
-
Tipo:
String[<=128 char] -
Predeterminado:
<empty string>
Identificador de la estación de trabajo. Use este identificador para identificar la estación de trabajo específica en varias herramientas de generación de perfiles y registro.
Si no especifica un valor, el valor predeterminado es <empty string>.
xopenStates
-
Tipo:
Boolean[true|false] -
Predeterminado:
false
true Establézcalo en para especificar que el controlador devuelve códigos de estado compatibles con XOPEN en excepciones.
De forma predeterminada se devuelven códigos de estado SQL 99.