Propiedades de inicialización y autorización (proveedor OLE DB de Native Client)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Importante

SQL Server Native Client (a menudo abreviado SNAC) se ha quitado de SQL Server 2022 (16.x) y SQL Server Management Studio 19 (SSMS). Para nuevos trabajos de desarrollo, no se recomiendan ni el proveedor OLE DB de SQL Server Native Client (SQLNCLI o SQLNCLI11) ni el proveedor OLE DB de Microsoft para SQL Server (SQLOLEDB) heredado. Cambie al nuevo Controlador Microsoft OLE DB para SQL Server de ahora en adelante.

El proveedor OLE DB SQL Server Native Client interpreta las propiedades de inicialización y autorización de OLE DB de la siguiente manera:

Id. de propiedad Descripción
DBPROP_AUTH_CACHE_AUTHINFO El proveedor OLE DB SQL Server Native Client no almacena en caché la información de autenticación.

El proveedor OLE DB SQL Server Native Client devuelve DB_S_ERRORSOCCURRED al intentar establecer el valor de propiedad. El miembro dwStatus de la estructura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_ENCRYPT_PASSWORD El proveedor OLE DB SQL Server Native Client usa mecanismos de seguridad estándar de Microsoft SQL Server para ocultar las contraseñas.

El proveedor OLE DB SQL Server Native Client devuelve DB_S_ERRORSOCCURRED al intentar establecer el valor de propiedad. El miembro dwStatus de la estructura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_INTEGRATED Si DBPROP_AUTH_INTEGRATED se establece en un puntero NULL, una cadena nula o un valor de VT_BSTR "SSPI", el proveedor OLE DB de SQL Server Native Client usa el modo de autenticación de Windows para autorizar el acceso de usuario a la base de datos de SQL Server especificada por las propiedades DBPROP_INIT_DATASOURCE y DBPROP_INIT_CATALOG.

Si está establecida en VT_EMPTY, que es el valor predeterminado, se usa la seguridad de SQL Server. La contraseña y el inicio de sesión de SQL Server se especifican en las propiedades DBPROP_AUTH_PASSWORD y DBPROP_AUTH_USERID.
DBPROP_AUTH_MASK_PASSWORD El proveedor OLE DB SQL Server Native Client usa mecanismos de seguridad estándar SQL Server para ocultar contraseñas.

El proveedor OLE DB SQL Server Native Client devuelve DB_S_ERRORSOCCURRED al intentar establecer el valor de propiedad. El miembro dwStatus de la estructura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_PASSWORD Contraseña asignada a un inicio de sesión de SQL Server. Esta propiedad se usa cuando se selecciona la autenticación de SQL Server para autorizar el acceso a una base de datos de SQL Server.
DBPROP_AUTH_PERSIST_ENCRYPTED El proveedor OLE DB SQL Server Native Client no cifra la información de autenticación cuando se conserva.

El proveedor OLE DB SQL Server Native Client devuelve DB_S_ERRORSOCCURRED al intentar establecer el valor de propiedad. El miembro dwStatus de la estructura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO El proveedor OLE DB SQL Server Native Client conserva los valores de autenticación, incluida una imagen de una contraseña, si se solicita hacerlo. No se proporciona cifrado.
DBPROP_AUTH_USERID Inicio de sesión de SQL Server. Esta propiedad se usa cuando se selecciona la autenticación de SQL Server para autorizar el acceso a una base de datos de SQL Server.
DBPROP_INIT_ASYNCH El proveedor OLE DB de SQL Server Native Client admite el inicio asincrónico.

Al establecer el bit DBPROPVAL_ASYNCH_INITIALIZE en la propiedad DBPROP_INIT_ASYNCH, IDBInitialize::Initialize se convierte en una llamada que no es de bloqueo. Para más información, consulte Realizar operaciones asincrónicas.
DBPROP_INIT_CATALOG Nombre de una base de datos de SQL Server existente con la que debe establecerse la conexión.
DBPROP_INIT_DATASOURCE Nombre de red de un servidor que ejecuta una instancia de Microsoft SQL Server. Si hay varias instancias de SQL Server ejecutándose en el equipo, para conectarse a una específica, el valor DBPROP_INIT_DATASOURCE tiene que especificarse como \\NombreDeServidor\NombreDeInstancia. La secuencia de escape \\ se usa para la barra diagonal inversa.
DBPROP_INIT_GENERALTIMEOUT Indica el número de segundos que deben transcurrir para que una solicitud, que no sea de inicialización del origen de datos ni de ejecución de comandos, supere el tiempo de espera. El valor 0 indica un tiempo infinito. Los proveedores que funcionan a través de conexiones de red o en escenarios de transacción o distribuidos pueden admitir esta propiedad para informar a un componente dado de alta que agote el tiempo de espera en caso de una solicitud de larga duración. Los tiempos de espera para la inicialización del origen de datos y la ejecución de comandos aún se rigen por DBPROP_INIT_TIMEOUT y DBPROP_COMMANDTIMEOUT, respectivamente.

DBPROP_INIT_GENERALTIMEOUT es de solo lectura y, si intenta establecerse, se devuelve el error dwstatus de DBPROPSTATUS_NOTSETTABLE.
DBPROP_INIT_HWND Identificador de ventana de la aplicación que realiza la llamada. Es necesario un identificador de ventana válido para el cuadro de diálogo de inicialización que se muestra cuando se permite solicitar las propiedades de inicialización.
DBPROP_INIT_IMPERSONATION_LEVEL El proveedor OLE DB de SQL Server Native Client no admite el ajuste de nivel de suplantación.

El proveedor OLE DB SQL Server Native Client devuelve DB_S_ERRORSOCCURRED al intentar establecer el valor de propiedad. El miembro dwStatus de la estructura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_LCID El proveedor OLE DB SQL Server Native Client valida el identificador de configuración regional y devuelve un error si el identificador de configuración regional no se admite o no está instalado en el cliente.
DBPROP_INIT_LOCATION El proveedor OLE DB SQL Server Native Client devuelve DB_S_ERRORSOCCURRED al intentar establecer el valor de propiedad. El miembro dwStatus de la estructura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_MODE El proveedor OLE DB SQL Server Native Client devuelve DB_S_ERRORSOCCURRED al intentar establecer el valor de propiedad. El miembro dwStatus de la estructura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_PROMPT El proveedor OLE DB de SQL Server Native Client admite todos los modos de solicitud para la inicialización del origen de datos. El proveedor OLE DB SQL Server Native Client usa DBPROMPT_NOPROMPT como valor predeterminado para la propiedad .
DBPROP_INIT_PROTECTION_LEVEL El proveedor OLE DB de SQL Server Native Client no admite un nivel de protección en las conexiones a instancias de SQL Server.

El proveedor OLE DB SQL Server Native Client devuelve DB_S_ERRORSOCCURRED al intentar establecer el valor de propiedad. El miembro dwStatus de la estructura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_PROVIDERSTRING Consulte la SQL Server Native Client cadena del proveedor OLE DB más adelante en este tema.
DBPROP_INIT_TIMEOUT El proveedor OLE DB SQL Server Native Client devuelve un error al inicializar si no se puede establecer una conexión con la instancia de SQL Server en el número de segundos especificado.

En el conjunto de propiedades específico del proveedor DBPROPSET_SQLSERVERDBINIT, el proveedor OLE DB de SQL Server Native Client define estas propiedades de inicialización adicionales.

Id. de propiedad Descripción
SSPROP_AUTH_OLD_PASSWORD Escriba: VT_BSTR

R (lectura) y W (escritura): Escritura

Valor predeterminado: VT_EMPTY

Descripción: contraseña actual o expirada. Para más información, consulte Cambio de contraseñas mediante programación.
SSPROP_INIT_APPNAME Escriba: VT_BSTR

R (lectura) y W (escritura): Lectura/escritura

Descripción: nombre de la aplicación cliente.
SSPROP_INIT_AUTOTRANSLATE Escriba: VT_BOOL

R (lectura) y W (escritura): Lectura/escritura

Valor predeterminado: VARIANT_TRUE

Descripción: conversión de caracteres OEM/ANSI.

VARIANT_TRUE: el proveedor OLE DB de SQL Server Native Client traduce cadenas de caracteres ANSI enviadas entre el cliente y el servidor mediante la conversión a través de Unicode para minimizar los problemas de coincidencia de caracteres extendidos entre las páginas de códigos del cliente y el servidor:

Los datos DBTYPE_STR del cliente enviados a una instancia de la variable, parámetro o columna char, varchar o text de SQL Server se convierten de carácter a Unicode mediante la página de códigos ANSI (ACP) del cliente y, después, se convierten de Unicode a carácter mediante la ACP del servidor.

Los datos char, varchar o text de SQL Server enviados a una variable DBTYPE_STR del cliente se convierten de carácter a Unicode mediante la ACP del servidor y, después, se convierten de Unicode a carácter mediante la ACP del cliente.

El proveedor OLE DB realiza estas conversiones en el SQL Server Native Client cliente. Esto requiere que la misma ACP que se usa en el servidor esté disponible en el cliente.

Esta configuración no tiene ningún efecto en las conversiones que se realizan para estas transferencias:

Los datos de cliente DBTYPE_WSTR de Unicode enviados a char, varchar o text en el servidor.

Los datos de servidor char, varchar o text enviados a una variable DBTYPE_WSTR de Unicode en el cliente.

Los datos de cliente DBTYPE_STR de ANSI enviados a nchar, nvarchar o ntext de Unicode en el servidor.

Los datos de servidor char, varchar o text de Unicode enviados a una variable DBTYPE_STR de ANSI en el cliente.

VARIANT_FALSE: el proveedor OLE DB de SQL Server Native Client no realiza traducciones de caracteres.

El proveedor OLE DB de SQL Server Native Client no traduce los datos de caracteres ANSI de cliente DBTYPE_STR enviados a variables char, varchar o text, parámetros o columnas del servidor. No se realiza ninguna traducción en los datos char, varchar o text enviados del servidor a las variables DBTYPE_STR en el cliente.

Si el cliente y la instancia de SQL Server están utilizando distintas ACP, pueden malinterpretarse los caracteres extendidos.
SSPROP_INIT_CURRENTLANGUAGE Escriba: VT_BSTR

R (lectura) y W (escritura): Lectura/escritura

Descripción: nombre del lenguaje SQL Server. Identifica el lenguaje que se usa para la selección y el formato de mensajes del sistema. El lenguaje debe instalarse en el equipo que ejecuta una instancia de SQL Server o, de lo contrario, se producirá un error de inicialización del origen de datos.
SSPROP_INIT_DATATYPECOMPATIBILITY Escriba: VT_UI2

R (lectura) y W (escritura): Lectura/escritura

Valor predeterminado: 0

Descripción: habilita la compatibilidad de tipo de datos entre las aplicaciones de SQL Server y de ADO (Objetos de datos ActiveX). Si se utiliza el valor predeterminado 0, la administración de tipos de datos usa el valor predeterminado del proveedor. Si se usa el valor 80, la administración de tipos de datos solo usa tipos de datos de SQL Server 2000 (8.x). Para obtener más información, consulte Uso de ADO con SQL Server Native Client.
SSPROP_INIT_ENCRYPT Tipo: VT_BOOL

R (lectura) y W (escritura): Lectura/Escritura

Valor predeterminado: VARIANT_FALSE

Descripción: para cifrar los datos que se envían a través de la red, la propiedad SSPROP_INIT_ENCRYPT se establece en VARIANT_TRUE.

Si el cifrado de protocolo está habilitado, siempre se llevará a cabo el cifrado, independientemente del valor de SSPROP_INIT_ENCRYPT. Si no está habilitado y la propiedad SSPROP_INIT_ENCRYPT está establecida en VARIANT_TRUE, se llevará a cabo el cifrado.

Si el cifrado de protocolo no está habilitado y la propiedad SSPROP_INIT_ENCRYPT está establecida en VARIANT_FALSE, no se lleva a cabo el cifrado.
SSPROP_INIT_FAILOVERPARTNER Escriba: VT_BSTR

R (lectura) y W (escritura): Lectura/escritura

Descripción: especifica el nombre del asociado de conmutación por error para la creación de reflejo de la base de datos. Se trata de una propiedad de inicialización y solo puede establecerse antes de la inicialización. Tras la inicialización, devolverá el asociado de conmutación por error devuelto por el servidor principal, si existe.

Esto permite que una aplicación inteligente almacene en memoria caché el servidor de copia de seguridad determinado más recientemente, pero dichas aplicaciones necesitan tener en cuenta que la información solo se actualiza cuando la conexión se establece por primera vez (o se restablece, si está agrupada) y puede quedar desfasada para conexiones a largo plazo.

Después de realizar la conexión, la aplicación puede consultar este atributo para determinar la identidad del asociado de conmutación por error. Si el servidor principal no tiene ningún asociado de conmutación por error, esta propiedad devolverá una cadena vacía. Para obtener más información, vea Usar la creación de reflejo de la base de datos.
SSPROP_INIT_FILENAME Escriba: VT_BSTR

R (lectura) y W (escritura): Lectura/escritura

Descripción: especifica el nombre del archivo principal de una base de datos adjuntable. Esta base de datos se adjunta y se convierte en la base de datos predeterminada para la conexión. Para usar SSPROP_INIT_FILENAME, debe especificar el nombre de la base de datos como el valor de la propiedad de inicialización DBPROP_INIT_CATALOG. Si el nombre de la base de datos no existe, entonces busca el nombre de archivo principal especificado en SSPROP_INIT_FILENAME y adjunta esa base de datos al nombre especificado en DBPROP_INIT_CATALOG. Si la base de datos se ha adjuntado previamente, SQL Server no vuelve a adjuntarla.
SSPROP_INIT_MARSCONNECTION Escriba: VT_BOOL

R (lectura) y W (escritura): Lectura/escritura

Valor predeterminado: VARIANT_FALSE

Descripción: especifica si los conjuntos de resultados activos múltiples (MARS) están habilitados para la conexión. Esta opción debe establecerse en True antes de realizar cualquier conexión a la base de datos. Para obtener más información, vea Utilizar conjuntos de resultados activos múltiples (MARS).
SSPROP_INIT_NETWORKADDRESS Escriba: VT_BSTR

R (lectura) y W (escritura): Lectura/escritura

Descripción: dirección de red del servidor que ejecuta una instancia de SQL Server especificada por la propiedad DBPROP_INIT_DATASOURCE.
SSPROP_INIT_NETWORKLIBRARY Escriba: VT_BSTR

R (lectura) y W (escritura): Lectura/escritura

Descripción: nombre de la biblioteca de red (DLL) utilizada para comunicarse con una instancia de SQL Server. El nombre no debe incluir la ruta de acceso ni la extensión de nombre de archivo .dll.

El valor predeterminado puede personalizarse mediante la utilidad de configuración del cliente de SQL Server.

Nota: Esta propiedad solo admite TCP y canalizaciones con nombre. Si usa esta propiedad con un prefijo, terminará con un prefijo doble que generará un error, puesto que la propiedad se utiliza para generar un prefijo internamente.
SSPROP_INIT_PACKETSIZE Escriba: VT_I4

R (lectura) y W (escritura): Lectura/escritura

Descripción: tamaño del paquete de red en bytes. El valor de la propiedad de tamaño de paquete debe estar comprendido entre 512 y 32.767. El tamaño predeterminado SQL Server Native Client paquete de red del proveedor OLE DB es 4096.
SSPROP_INIT_TAGCOLUMNCOLLATION Escriba: BOOL

R (lectura) y W (escritura): Escritura

Valor predeterminado: FALSE

Descripción: se usa durante una actualización de base de datos cuando se utilizan cursores del lado servidor. Esta propiedad etiqueta los datos con la información de intercalación obtenida del servidor en lugar de la página de códigos del cliente. Actualmente, solo utiliza esta propiedad el proceso de consulta distribuida, puesto que conoce la intercalación de datos del destino y la convierte correctamente.
SSPROP_INIT_TRUST_SERVER_CERTIFICATE Tipo: VT_BOOL

R (lectura) y W (escritura): Lectura/escritura

Valor predeterminado: VARIANT_FALSE

Descripción: se usa para habilitar o deshabilitar la validación de certificados del servidor. Esta propiedad es de lectura/escritura, pero cualquier intento por establecerla una vez que se haya establecido una conexión generará un error.

Esta propiedad se omite si el cliente se configura de modo que requiere validación de certificados. Sin embargo, una aplicación puede usarla junto con SSPROP_INIT_ENCRYPT para garantizar que su conexión al servidor esté cifrada, aunque la configuración del cliente no requiera cifrado y en el cliente no se proporcione ningún certificado.

Las aplicaciones cliente podrán consultar esta propiedad una vez que se haya abierto una conexión para determinar la configuración real de cifrado y validación que se está usando.

Nota: El uso de cifrado sin validación de certificados ofrece una protección parcial frente al examen de paquetes, pero no protege frente a los ataques de tipo "Man in the middle". Simplemente permite cifrar el inicio de sesión y los datos enviados al servidor sin validar el certificado de servidor.

Para obtener más información, vea Usar el cifrado sin validación.
SSPROP_INIT_USEPROCFORPREP Escriba: VT_I4

R (lectura) y W (escritura): Lectura/escritura

Valor predeterminado: SSPROPVAL_USEPROCFORPREP_ON

Descripción: uso del procedimiento almacenado SQL Server. Define el uso de procedimientos almacenados de forma temporal de SQL Server para admitir la interfaz ICommandPrepare. Esta propiedad solo era significativa al establecer una conexión a SQL Server 6.5. se omite en versiones posteriores.

SSPROPVAL_USEPROCFORPREP_OFF: no se crea un procedimiento almacenado temporal cuando se prepara un comando.

SSPROPVAL_USEPROCFORPREP_ON: se crea un procedimiento almacenado temporal cuando se prepara un comando. Cuando se libera la sesión, se quitan los procedimientos almacenados temporales.

SSPROPVAL_USEPROCFORPREP_ON_DROP: se crea un procedimiento almacenado temporal cuando se prepara un comando. El procedimiento se descarta cuando el comando no se ha preparado con ICommandPrepare::Unprepare, cuando se especifica un nuevo comando para el objeto de comando con ICommandText::SetCommandText o cuando se liberan todas las referencias de la aplicación al comando.
SSPROP_INIT_WSID Escriba: VT_BSTR

R (lectura) y W (escritura): Lectura/escritura

Descripción: cadena que identifica la estación de trabajo.

En el conjunto de propiedades específico del proveedor DBPROPSET_SQLSERVERDATASOURCEINFO, el proveedor OLE DB de SQL Server Native Client define las propiedades adicionales; vea Propiedades de información del origen de datos para obtener más información.

Cadena del proveedor OLE DB de SQL Server Native Client

El proveedor OLE DB SQL Server Native Client reconoce una sintaxis similar a ODBC en los valores de propiedad de cadena del proveedor. La propiedad de cadena del proveedor se proporciona como valor de la propiedad de inicialización de OLE DB DBPROP_INIT_PROVIDERSTRING cuando se establece una conexión con el origen de datos OLE DB. Esta propiedad especifica los datos de conexión específicos del proveedor OLE DB necesarios para implementar una conexión con el origen de datos OLE DB. Dentro de la cadena, los elementos están delimitados mediante un punto y coma. El último elemento de la cadena debe terminar con un punto y coma. Cada elemento consta de una palabra clave, un carácter de signo igual y el valor que se pasó en la inicialización. Por ejemplo:

Server=MyServer;UID=MyUserName;  

Con el SQL Server Native Client proveedor OLE DB, el consumidor nunca necesita usar la propiedad de cadena del proveedor. El consumidor puede establecer cualquier propiedad de inicialización reflejada en la cadena del proveedor mediante OLE DB o SQL Server Native Client propiedades de inicialización específicas del proveedor OLE DB.

Para obtener una lista de las palabras clave disponibles en el proveedor OLE DB de SQL Server Native Client, consulte Uso de palabras clave de cadena de conexión con SQL Server Native Client.

Consulte también

Objetos de origen de datos (OLE DB)