Propriedades de Inicialização e Autorização (Fornecedor Nativo de Cliente OLE DB)

Aplica-se a: SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)

Importante

O SQL Server Native Client (geralmente abreviado SNAC) foi removido do SQL Server 2022 (16.x) e do SQL Server Management Studio 19 (SSMS). O provedor OLE DB do SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o provedor Microsoft OLE DB herdado para SQL Server (SQLOLEDB) não são recomendados para novos desenvolvimentos. Mude para o novo Microsoft OLE DB Driver (MSOLEDBSQL) para SQL Server daqui em diante.

O fornecedor OLE DB do SQL Server Native Client interpreta as propriedades de inicialização e autorização do OLE DB da seguinte forma:

ID do imóvel Description
DBPROP_AUTH_CACHE_AUTHINFO O fornecedor OLE DB do SQL Server Native Client não armazena em cache a informação de autenticação.

O fornecedor de OLE DB SQL Server Native Client devolve DB_S_ERRORSOCCURRED numa tentativa de definir o valor da propriedade. O membro dwStatus da Estrutura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_ENCRYPT_PASSWORD O fornecedor SQL Server Native Client OLE DB utiliza mecanismos de segurança padrão do Microsoft SQL Server para ocultar palavras-passe.

O fornecedor de OLE DB SQL Server Native Client devolve DB_S_ERRORSOCCURRED numa tentativa de definir o valor da propriedade. O membro dwStatus da Estrutura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_INTEGRATED Se DBPROP_AUTH_INTEGRATED for definido para um ponteiro NULL, uma cadeia nula ou um valor VT_BSTR 'SSPI', o fornecedor de SQL Server Native Client OLE DB utiliza Windows Modo de Autenticação para autorizar o acesso do utilizador à base de dados SQL Server especificada pelas propriedades DBPROP_INIT_DATASOURCE e DBPROP_INIT_CATALOG.

Se estiver definido para VT_EMPTY (o padrão), a segurança do SQL Server é utilizada. O login e a palavra-passe do SQL Server são especificados nas propriedades DBPROP_AUTH_USERID e DBPROP_AUTH_PASSWORD.
DBPROP_AUTH_MASK_PASSWORD O fornecedor SQL Server Native Client OLE DB utiliza mecanismos de segurança padrão do SQL Server para ocultar palavras-passe.

O fornecedor de OLE DB SQL Server Native Client devolve DB_S_ERRORSOCCURRED numa tentativa de definir o valor da propriedade. O membro dwStatus da Estrutura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_PASSWORD Palavra-passe atribuída a um login SQL Server. Esta propriedade é usada quando a Autenticação SQL Server é selecionada para autorizar o acesso a uma base de dados SQL Server.
DBPROP_AUTH_PERSIST_ENCRYPTED O fornecedor OLE DB do SQL Server Native Client não encripta a informação de autenticação quando persiste.

O fornecedor de OLE DB SQL Server Native Client devolve DB_S_ERRORSOCCURRED numa tentativa de definir o valor da propriedade. O membro dwStatus da Estrutura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO O fornecedor OLE DB do SQL Server Native Client mantém valores de autenticação, incluindo uma imagem de uma palavra-passe, se solicitado a fazê-lo. Não é fornecida encriptação.
DBPROP_AUTH_USERID Início de sessão no SQL Server. Esta propriedade é usada quando a Autenticação SQL Server é selecionada para autorizar o acesso a uma base de dados SQL Server.
DBPROP_INIT_ASYNCH O fornecedor do SQL Server Native Client OLE DB suporta iniciação assíncrona.

Definir o bit DBPROPVAL_ASYNCH_INITIALIZE na propriedade DBPROP_INIT_ASYNCH faz com que IDBInitialize::Initialize se torne uma chamada não bloqueante. Para mais informações, consulte Realização de Operações Assíncronas.
DBPROP_INIT_CATALOG Nome de uma base de dados SQL Server existente à qual se deve ligar.
DBPROP_INIT_DATASOURCE Nome de rede de um servidor a correr uma instância do Microsoft SQL Server. Se existirem múltiplas instâncias do SQL Server a correr no computador, para se ligar a uma instância específica do SQL Server o valor DBPROP_INIT_DATASOURCE é especificado como \\NomeServidor\NomeInstância. A sequência de escape \\ é usada para a própria barra.
DBPROP_INIT_GENERALTIMEOUT Indica o número de segundos antes de um pedido, exceto a inicialização da fonte de dados e a execução do comando, expirar. Um valor de 0 indica um tempo limite infinito. Os fornecedores que trabalham através de ligações de rede ou em cenários distribuídos ou transacionados podem suportar esta propriedade para aconselhar um componente alistado a entrar em tempo de espera no caso de um pedido de longa duração. Os time-outs para inicialização da fonte de dados e execução de comandos continuam a ser regidos por DBPROP_INIT_TIMEOUT e DBPROP_COMMANDTIMEOUT, respetivamente.

DBPROP_INIT_GENERALTIMEOUT é só leitura e, se tentar defini-lo, o erro dwstatus de DBPROPSTATUS_NOTSETTABLE é devolvido.
DBPROP_INIT_HWND O handle do Windows a partir da aplicação que chamava. É necessário um handle de janela válido para a caixa de diálogo de inicialização exibida quando é permitido pedir propriedades de inicialização.
DBPROP_INIT_IMPERSONATION_LEVEL O fornecedor OLE DB do SQL Server Native Client não suporta ajuste ao nível de personificação.

O fornecedor de OLE DB SQL Server Native Client devolve DB_S_ERRORSOCCURRED numa tentativa de definir o valor da propriedade. O membro dwStatus da Estrutura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_LCID O fornecedor SQL Server Native Client OLE DB valida o ID local e devolve um erro se o local ID não for suportado ou não estiver instalado no cliente.
DBPROP_INIT_LOCATION O fornecedor de OLE DB SQL Server Native Client devolve DB_S_ERRORSOCCURRED numa tentativa de definir o valor da propriedade. O membro dwStatus da Estrutura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_MODE O fornecedor de OLE DB SQL Server Native Client devolve DB_S_ERRORSOCCURRED numa tentativa de definir o valor da propriedade. O membro dwStatus da Estrutura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_PROMPT O fornecedor SQL Server Native Client OLE DB suporta todos os modos de prompting para inicialização da fonte de dados. O fornecedor OLE DB SQL Server Native Client utiliza DBPROMPT_NOPROMPT como configuração padrão para a propriedade.
DBPROP_INIT_PROTECTION_LEVEL O fornecedor OLE DB do SQL Server Native Client não suporta um nível de proteção nas ligações a instâncias do SQL Server.

O fornecedor de OLE DB SQL Server Native Client devolve DB_S_ERRORSOCCURRED numa tentativa de definir o valor da propriedade. O membro dwStatus da Estrutura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_PROVIDERSTRING Veja a cadeia de fornecedores OLE DB do SQL Server Native Client mais adiante neste tópico.
DBPROP_INIT_TIMEOUT O fornecedor OLE DB do SQL Server Native Client devolve um erro na inicialização se não conseguir estabelecer uma ligação à instância do SQL Server dentro do número de segundos especificado.

No conjunto de propriedades específicas do fornecedor DBPROPSET_SQLSERVERDBINIT, o fornecedor SQL Server Native Client OLE DB define estas propriedades adicionais de inicialização.

ID do imóvel Description
SSPROP_AUTH_OLD_PASSWORD Tipo: VT_BSTR

R/W: Escrever

Padrão: VT_EMPTY

Descrição: A palavra-passe atual ou expirada. Para mais informações, consulte Alteração Programática de Palavras-Passe.
SSPROP_INIT_APPNAME Tipo: VT_BSTR

R/W: Ler/Escrever

Descrição: O nome da aplicação do cliente.
SSPROP_INIT_AUTOTRANSLATE Tipo: VT_BOOL

R/W: Ler/Escrever

Padrão: VARIANT_TRUE

Descrição: Conversão de caracteres OEM/ANSI.

VARIANT_TRUE: O fornecedor SQL Server Native Client OLE DB traduz as cadeias de caracteres ANSI enviadas entre o cliente e o servidor através da conversão através de Unicode para minimizar problemas na correspondência de caracteres estendidos entre as páginas de código do cliente e do servidor:

Os dados DBTYPE_STR cliente enviados para uma instância de SQL Server char, varchar ou variável, parâmetro ou coluna de texto são convertidos de carácter para Unicode usando a página de códigos ANSI do cliente (ACP) e depois convertidos de Unicode para carácter usando o ACP do servidor.

SQL Server char, varchar ou dados de texto enviados a um cliente DBTYPE_STR variável são convertidos de carácter para Unicode usando o ACP do servidor e depois convertidos de Unicode para carácter através do ACP cliente.

Estas conversões são realizadas no cliente pelo fornecedor OLE DB do SQL Server Native Client. Isto exige que o mesmo ACP usado no servidor esteja disponível no cliente.

Estas definições não têm qualquer efeito nas conversões que ocorrem para estas transferências:

Unicode DBTYPE_WSTR dados do cliente enviados para char, varchar ou texto no servidor.

dados char, varchar ou de servidor de texto enviados para uma variável Unicode DBTYPE_WSTR no cliente.

ANSI DBTYPE_STR dados do cliente enviados para Unicode nchar, nvarchar ou ntext no servidor.

Dados Unicode char, varchar ou servidor de texto enviados para uma variável ANSI DBTYPE_STR no cliente.

VARIANT_FALSE: O fornecedor OLE DB SQL Server Native Client não realiza traduções de caracteres.

O fornecedor OLE DB SQL Server Native Client não traduz dados de caracteres ANSI do cliente DBTYPE_STR enviados para char, varchar ou variáveis, parâmetros ou colunas de texto no servidor. Não é realizada qualquer tradução dos dados de char, varchar ou texto enviados do servidor para DBTYPE_STR variáveis no cliente.

Se o cliente e a instância do SQL Server estiverem a usar ACPs diferentes, os caracteres estendidos podem ser mal interpretados.
SSPROP_INIT_CURRENTLANGUAGE Tipo: VT_BSTR

R/W: Ler/Escrever

Descrição: Um nome de linguagem SQL Server. Identifica a linguagem usada para a seleção e formatação de mensagens do sistema. A linguagem deve ser instalada no computador que executa uma instância de SQL Server ou falhar a inicialização da fonte de dados.
SSPROP_INIT_DATATYPECOMPATIBILITY Tipo: VT_UI2

R/W: Ler/Escrever

Padrão: 0

Descrição: Permite a compatibilidade de tipos de dados entre aplicações SQL Server e ActiveX Data Object (ADO). Se o valor padrão 0 for utilizado, o tratamento do tipo de dado passa por padrão ao utilizado pelo fornecedor. Se for usado o valor de 80, o tratamento de tipos de dados utiliza apenas tipos de dados SQL Server 2000 (8.x). Para mais informações, consulte Usar ADO com SQL Server Native Client.
SSPROP_INIT_ENCRYPT Tipo: VT_BOOL

R/W: Ler/Escrever

Padrão: VARIANT_FALSE

Descrição: Para encriptar os dados que passam pela rede, SSPROP_INIT_ENCRYPT propriedade é definida como VARIANT_TRUE.

Se Ativar Encriptação de Protocolo estiver ativada, a encriptação ocorrerá sempre, independentemente da configuração de SSPROP_INIT_ENCRYPT. Se estiver desligado e SSPROP_INIT_ENCRYPT estiver definido para VARIANT_TRUE, então a encriptação ocorrerá.

Se Ativar Encriptação de Protocolo estiver desligado e SSPROP_INIT_ENCRYPT estiver definido para VARIANT_FALSE, então não ocorre encriptação.
SSPROP_INIT_FAILOVERPARTNER Tipo: VT_BSTR

R/W: Ler/Escrever

Descrição: Especifica o nome do parceiro de failover para espelhamento de base de dados. É uma propriedade de inicialização e só pode ser definida antes da inicialização. Após a inicialização, devolverá o parceiro de failover, se existir, devolvido pelo servidor principal.

Isto permite que uma aplicação inteligente armazene em cache o servidor de backup mais recentemente determinado, mas essas aplicações devem estar cientes de que a informação só é atualizada quando a ligação é estabelecida (ou reiniciada, se for em pool) e pode ficar desatualizada para ligações de longo prazo.

Após estabelecer a ligação, a aplicação pode consultar este atributo para determinar a identidade do parceiro de failover. Se o servidor principal não tiver parceiro de failover, esta propriedade devolverá uma cadeia vazia. Para mais informações, consulte Utilização do Espelhamento de Bases de Dados.
SSPROP_INIT_FILENAME Tipo: VT_BSTR

R/W: Ler/Escrever

Descrição: Especifica o nome principal do ficheiro de uma base de dados anexável. Esta base de dados está ligada e torna-se a base de dados padrão para a ligação. Para usar SSPROP_INIT_FILENAME, deve especificar o nome da base de dados como o valor da propriedade de inicialização DBPROP_INIT_CATALOG. Se o nome da base de dados não existir, então procura o nome principal do ficheiro especificado em SSPROP_INIT_FILENAME e anexa essa base de dados com o nome especificado em DBPROP_INIT_CATALOG. Se a base de dados já estava anexada, o SQL Server não a volta a anexar.
SSPROP_INIT_MARSCONNECTION Tipo: VT_BOOL

R/W: Ler/Escrever

Padrão: VARIANT_FALSE

Descrição: Especifica se Múltiplos Conjuntos de Resultados Ativos (MARS) estão ativados para a ligação. Esta opção deve ser definida como verdadeira antes de ser feita uma ligação à base de dados. Para obter mais informações, consulte Usando vários conjuntos de resultados ativos (MARS).
SSPROP_INIT_NETWORKADDRESS Tipo: VT_BSTR

R/W: Ler/Escrever

Descrição: O endereço de rede do servidor que executa uma instância de SQL Server especificada pela propriedade DBPROP_INIT_DATASOURCE.
SSPROP_INIT_NETWORKLIBRARY Tipo: VT_BSTR

R/W: Ler/Escrever

Descrição: O nome da biblioteca de rede (DLL) usada para comunicar com uma instância do SQL Server. O nome não deve incluir o caminho nem a extensão do nome do ficheiro .dll.

O padrão pode ser personalizado usando a Utilidade de Configuração do Cliente SQL Server.

Nota: Apenas TCP e Named Pipes são suportados por esta propriedade. Se usar esta propriedade com um prefixo, acaba por ter um prefixo duplo que resulta num erro, porque a propriedade é usada para gerar um prefixo internamente.
SSPROP_INIT_PACKETSIZE Tipo: VT_I4

R/W: Ler/Escrever

Descrição: Um tamanho de pacote de rede em bytes. O valor da propriedade do tamanho do pacote deve estar entre 512 e 32.767. O tamanho padrão do pacote de rede do fornecedor OLE DB do SQL Server Native Client é 4.096.
SSPROP_INIT_TAGCOLUMNCOLLATION Tipo: BOOL

R/W: Escrever

Padrão: FALSO

Descrição: É usado durante uma atualização de base de dados quando são usados cursores do lado do servidor. Esta propriedade marca os dados com informação de colação obtida do servidor em vez da página de código no cliente. Atualmente, esta propriedade é usada apenas pelo processo de consulta distribuída porque conhece a colação dos dados de destino e converte-os corretamente.
SSPROP_INIT_TRUST_SERVER_CERTIFICATE (propriedade de inicialização para confiança no certificado do servidor) Tipo: VT_BOOL

R/W: Ler/Escrever

Padrão: VARIANT_FALSE

Descrição: Usado para ativar ou desativar a validação de certificados do servidor. Esta propriedade é de leitura/escrita, mas tentar defini-la depois de estabelecida uma ligação resultará num erro.

Esta propriedade é ignorada se o cliente estiver configurado para exigir validação de certificados. No entanto, uma aplicação pode usá-lo juntamente com SSPROP_INIT_ENCRYPT para garantir que a sua ligação ao servidor está encriptada, mesmo que o cliente esteja configurado para não exigir encriptação e não seja fornecido nenhum certificado no cliente.

As aplicações cliente podem consultar esta propriedade após a abertura de uma ligação para determinar as definições reais de encriptação e validação em uso.

Nota: Usar encriptação sem validação de certificados oferece proteção parcial contra o sniffing de pacotes, mas não protege contra ataques man-in-the-middle. Permite simplesmente encriptar o login e os dados enviados ao servidor sem validar o certificado do servidor.

Para obter mais informações, consulte Usando criptografia sem validação.
SSPROP_INIT_USEPROCFORPREP Tipo: VT_I4

R/W: Ler/Escrever

Padrão: SSPROPVAL_USEPROCFORPREP_ON

Descrição: Uso do procedimento armazenado do SQL Server. Define o uso de procedimentos armazenados temporários do SQL Server para suportar a interface ICommandPrete . Esta propriedade só era relevante ao ligar ao SQL Server 6.5. A propriedade é ignorada para versões posteriores.

SSPROPVAL_USEPROCFORPREP_OFF: Um procedimento armazenado temporário não é criado quando um comando é preparado.

SSPROPVAL_USEPROCFORPREP_ON: Um procedimento armazenado temporário é criado quando um comando é preparado. Os procedimentos armazenados temporários são eliminados quando a sessão é libertada.

SSPROPVAL_USEPROCFORPREP_ON_DROP: Um procedimento armazenado temporário é criado quando um comando é preparado. O procedimento é abandonado quando o comando não está preparado com ICommandPrepare::Unprepare, quando um novo comando é especificado para o objeto de comando com ICommandText::SetCommandText, ou quando todas as referências de aplicação ao comando são libertadas.
SSPROP_INIT_WSID Tipo: VT_BSTR

R/W: Ler/Escrever

Descrição: Uma string que identifica a estação de trabalho.

No conjunto de propriedades específico do fornecedor DBPROPSET_SQLSERVERDATASOURCEINFO, o fornecedor OLE DB SQL Server Native Client define as propriedades adicionais; consulte Propriedades de Informação da Fonte de Dados para mais informações.

A String de Fornecedores de Fornecedores de Base de Dados OLE do Cliente Nativo do SQL Server

O fornecedor OLE DB do SQL Server Native Client reconhece uma sintaxe semelhante à ODBC nos valores das propriedades das strings do fornecedor. A propriedade da cadeia de fornecedores é fornecida como o valor da propriedade de inicialização do OLE DB DBPROP_INIT_PROVIDERSTRING quando uma ligação é estabelecida à fonte de dados do OLE DB. Esta propriedade especifica os dados de ligação específicos do fornecedor do OLE DB necessários para implementar uma ligação à fonte de dados do OLE DB. Dentro da sequência, os elementos são delimitados por um ponto e vírgula. O elemento final da cadeia deve ser terminado com ponto e vírgula. Cada elemento consiste numa palavra-chave, um carácter de sinal igual e o valor passado na inicialização. Por exemplo:

Server=MyServer;UID=MyUserName;  

Com o fornecedor OLE DB do SQL Server Native Client, o consumidor nunca precisa de usar a propriedade de string do fornecedor. O consumidor pode definir qualquer propriedade de inicialização refletida na string do fornecedor usando OLE DB ou propriedades de inicialização específicas do fornecedor SQL Server Native Client OLE DB.

Para uma lista das palavras-chave disponíveis no fornecedor OLE DB do SQL Server Native Client, consulte Utilização de Palavras-chave de String de Ligação com o SQL Server Native Client.