Uso de palavras-chave de cadeia de conexão com o Driver do OLE DB para SQL Server
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Algumas APIs do Driver do OLE DB para SQL Server usam cadeias de conexão para especificar atributos de conexão. Cadeias de conexão são uma lista de palavras-chave e valores associados; cada palavra-chave identifica um atributo de conexão específico.
Observação
O Driver do OLE DB para SQL Server permite ambiguidade em cadeias de conexão a fim de manter a compatibilidade com versões anteriores (por exemplo, algumas palavras-chave podem ser especificadas mais de uma vez e outras, conflitantes, permitidas tendo a resolução baseada na posição ou na precedência). Futuras versões do Driver do OLE DB para SQL Server talvez não permitam ambiguidade em cadeias de conexão. Trata-se de uma boa prática, ao modificar aplicativos, usar o Driver do OLE DB para SQL Server para eliminar todas as dependências relacionadas à ambiguidade da cadeia de conexão.
As seções a seguir descrevem as palavras-chave que podem ser usadas com o Driver do OLE DB para SQL Server e ADOs (ActiveX Data Objects) durante o uso do Driver do OLE DB para SQL Server como o provedor de dados.
Palavras-chave da cadeia de conexão do Driver do OLE DB
Os aplicativos OLE DB podem inicializar objetos de fonte de dados de duas formas:
IDBInitialize::Initialize
IDataInitialize::GetDataSource
No primeiro caso, uma cadeia de caracteres do provedor pode ser usada para inicializar as propriedades da conexão, definindo a propriedade DBPROP_INIT_PROVIDERSTRING no conjunto de propriedades DBPROPSET_DBINIT. No segundo, uma cadeia de caracteres de inicialização pode ser passada para o método IDataInitialize::GetDataSource a fim de inicializar as propriedades da conexão. Ambos os métodos inicializam as mesmas propriedades de conexão OLE DB, embora sejam usados conjuntos diferentes de palavras-chave. O conjunto de palavras-chave usado por IDataInitialize::GetDataSource é, no mínimo, a descrição das propriedades dentro do grupo de propriedades de inicialização.
Qualquer configuração da cadeia de caracteres do provedor tem uma propriedade OLE DB correspondente definida com um valor padrão ou explicitamente definida com um valor; o valor de propriedade OLE DB substituirá a configuração na cadeia de caracteres do provedor.
As propriedades boolianas definidas nas cadeias de caracteres do provedor por meio dos valores DBPROP_INIT_PROVIDERSTRING são definidas usando os valores yes
e no
. As propriedades boolianas definidas nas cadeias de caracteres de inicialização que usam IDataInitialize::GetDataSource são definidas usando os valores true
e false
.
Os aplicativos que usam IDataInitialize::GetDataSource também podem usar as palavras-chave usadas por IDBInitialize::Initialize, mas só para propriedades que não tenham um valor padrão. Caso um aplicativo use ambas as palavras-chave IDataInitialize::GetDataSource e IDBInitialize::Initialize na cadeia de caracteres de inicialização, é usada a definição da palavra-chave IDataInitialize::GetDataSource. É recomendável que os aplicativos não usem palavras-chave IDBInitialize::Initialize em cadeias de conexão IDataInitialize:GetDataSource, uma vez que esse comportamento talvez não seja mantido em versões futuras.
Observação
Uma cadeia de conexão passada por meio de IDataInitialize::GetDataSource é convertida em propriedades e aplicada por meio de IDBProperties::SetProperties. Se os serviços de componente encontraram a descrição da propriedade em IDBProperties::GetPropertyInfo, essa propriedade será aplicada como uma propriedade autônoma. Caso contrário, ela será aplicada por meio da propriedade DBPROP_PROVIDERSTRING. Por exemplo, se você especificar a cadeia de conexão Data Source=server1;Server=server2, Data Source será definida como uma propriedade, mas Server entrará em uma cadeia de caracteres de provedor.
Se você especificar várias instâncias da mesma propriedade específica do provedor, o primeiro valor da primeira propriedade será usado.
Usar IDBInitialize::Initialize
As cadeias de conexão usadas por aplicativos OLE DB que usam DBPROP_INIT_PROVIDERSTRING com IDBInitialize::Initialize têm a seguinte sintaxe:
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=[{]attribute-value[}]
attribute-value ::= character-string
attribute-keyword ::= identifier
Os valores de atributo podem ser colocados entre chaves. É uma boa prática fazer isso. Essa prática evita problemas quando os valores de atributo contêm caracteres não alfanuméricos. Como a primeira chave de fechamento é usada para encerrar o valor, os valores não podem conter caracteres de chave de fechamento.
Um caractere de espaço após o sinal =
de uma palavra-chave de cadeia de conexão será interpretado como um literal, mesmo que o valor seja colocado entre aspas.
A tabela a seguir descreve as palavras-chave que podem ser usadas com DBPROP_INIT_PROVIDERSTRING.
Palavra-chave | Propriedade de inicialização | Descrição |
---|---|---|
Addr | SSPROP_INIT_NETWORKADDRESS | Sinônimo de Endereço. |
Endereço | SSPROP_INIT_NETWORKADDRESS | O endereço de rede do servidor executando uma instância do SQL Server. Address é normalmente o nome da rede do servidor, mas pode ter outros nomes como, um pipe, um endereço IP ou uma porta TCP/IP e endereço de soquete. Se você especificar um endereço IP, verifique se os protocolos de pipes nomeados ou TCP/IP estão habilitados no SQL Server Configuration Manager. O valor de Address tem precedência sobre o valor passado para Server em cadeias de conexão ao usar o Driver do OLE DB para SQL Server. Observe também que Address=; conecta-se com o servidor especificado na palavra-chave Server, enquanto que Address= ;, Address=.; , Address=localhost; e Address=(local); estabelecem uma conexão com o servidor local.A sintaxe completa para a palavra-chave Address é a seguinte: [protocol:]Address[,port |\pipe\pipename] Oprotocolo pode ser tcp (TCP/IP), lpc (memória compartilhada) ou np (pipes nomeados). Para obter mais informações sobre protocolos, confira Configurar protocolos de cliente. Se nem protocol nem a palavra-chave Network forem especificados, o Driver do OLE DB para SQL Server usará a ordem de protocolo especificada no SQL Server Configuration Manager. port é a porta à qual se conectar, no servidor especificado. Por padrão, o SQL Server usa a porta 1433. |
APP | SSPROP_INIT_APPNAME | A cadeia de caracteres que identifica o aplicativo. |
ApplicationIntent | SSPROP_INIT_APPLICATIONINTENT | Declara o tipo de carga de trabalho de aplicativo ao conectar-se a um servidor. Os valores possíveis são ReadOnly e ReadWrite .O padrão é ReadWrite . Para obter mais informações sobre o suporte do Driver do OLE DB para SQL Server para Grupos de disponibilidade AlwaysOn, confira Compatibilidade do Driver do OLE DB para SQL Server para alta disponibilidade e recuperação de desastre. |
AttachDBFileName | SSPROP_INIT_FILENAME | O nome do arquivo primário (com o nome do caminho completo incluído) de um banco de dados anexável. Para usar AttachDBFileName, você também deve especificar o nome do banco de dados com a palavra-chave Database da cadeia de caracteres do provedor. Caso o banco de dados já tenha sido anexado, o SQL Server não o anexa novamente; ele usa o banco de dados anexado como sendo o padrão da conexão. |
Autenticação1 | SSPROP_AUTH_MODE | Especifica que é usada a autenticação do SQL ou do Microsoft Entra. Os valores válidos são:
OBSERVAÇÃO: A palavra-chave ActiveDirectoryIntegrated também pode ser usada para a autenticação do Windows para SQL Server. Ela substitui as palavras-chave de autenticação do Integrated Security (ou Trusted_Connection ). É recomendável que os aplicativos que usam palavras-chave de Integrated Security (ou Trusted_Connection ) ou as propriedades correspondentes delas definam a palavra-chave de Authentication (ou a propriedade correspondente dela) como ActiveDirectoryIntegrated a fim de habilitar um novo comportamento de validação de certificado e criptografia.OBSERVAÇÃO: É recomendável que os aplicativos que usam a autenticação SQL Server definam a palavra-chave de Authentication (ou a propriedade correspondente dela) como SqlPassword a fim de habilitar um novo comportamento de validação de certificado e criptografia. |
Tradução automática | SSPROP_INIT_AUTOTRANSLATE | Sinônimo de Tradução automática. |
AutoTranslate | SSPROP_INIT_AUTOTRANSLATE | Configura a conversão de caracteres OEM/ANSI. Os valores reconhecidos são yes e no . |
ConnectRetryCount | SSPROP_INIT_CONNECT_RETRY_COUNT | Controla o número de tentativas de reconexão em caso de perda de conexão. Os valores válidos variam de 0 a 255 . O valor padrão é 1 . O valor 0 resultaria em nenhuma tentativa de reconexão. Para obter mais informações, confira Resiliência de conexão ociosa. |
ConnectRetryInterval | SSPROP_INIT_CONNECT_RETRY_INTERVAL | Especifica o número de segundos entre cada tentativa de conexão em caso de perda de conexão. Os valores válidos variam de 1 a 60 . O valor padrão é 10 . Para obter mais informações, confira Resiliência de conexão ociosa. |
Backup de banco de dados | DBPROP_INIT_CATALOG | Nome do banco de dados. |
DataTypeCompatibility | SSPROP_INIT_DATATYPECOMPATIBILITY | Especifica o modo de manipulação do tipo de dados a ser usado. Os valores reconhecidos são 0 para tipos de dados do provedor e 80 para tipos de dados do SQL Server 2000. |
Criptografar1 | SSPROP_INIT_ENCRYPT | Especifica se os dados devem ser criptografados antes de serem enviados pela rede. Os valores possíveis são Optional , Mandatory e Strict . O valor padrão é Mandatory . Para as versões 18.x.x, confira Diferenças de versões principais do MSOLEDBSQL. |
FailoverPartner | SSPROP_INIT_FAILOVERPARTNER | O nome do servidor de failover usado no espelhamento de banco de dados. |
FailoverPartnerSPN | SSPROP_INIT_FAILOVERPARTNERSPN | O SPN do parceiro de failover. O valor padrão é uma cadeia de caracteres vazia. Uma cadeia de caracteres vazia faz com que o Driver do OLE DB para SQL Server use o SPN padrão gerado pelo provedor. |
HostNameInCertificate | SSPROP_INIT_HOST_NAME_CERTIFICATE | O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Se a palavra-chave HostNameInCertificate não estiver definida, o driver usará o valor de palavra-chave Servidor na URL de conexão como o nome do host para validar o certificado TLS/SSL do SQL Server. NOTA: essa propriedade será ignorada se o certificado do servidor for confiável. Se Criptografia for definido como Strict , o certificado sempre será validado. |
Idioma | SSPROP_INIT_CURRENTLANGUAGE | O idioma do SQL Server. |
MarsConn | SSPROP_INIT_MARSCONNECTION | Habilita ou desabilita MARS na conexão caso o servidor seja SQL Server 2005 (9.x) ou posterior. Os valores possíveis são yes e no . O valor padrão é no . |
MultiSubnetFailover | SSPROP_INIT_MULTISUBNETFAILOVER | Sempre especifique MultiSubnetFailover=Yes ao se conectar ao ouvinte de um grupo de disponibilidade do SQL Server ou a uma instância de cluster de failover do SQL Server. MultiSubnetFailover=Yes configura o driver do OLE DB para SQL Server para fornecer mais rapidez na detecção do servidor ativo (atualmente) e na conexão a ele. Os valores possíveis são Yes e No . O padrão é No . Por exemplo:MultiSubnetFailover=Yes Para obter mais informações sobre o suporte do Driver do OLE DB para SQL Server para Grupos de disponibilidade AlwaysOn, confira Compatibilidade do Driver do OLE DB para SQL Server para alta disponibilidade e recuperação de desastre. |
Net | SSPROP_INIT_NETWORKLIBRARY | Sinônimo de Rede. |
Rede | SSPROP_INIT_NETWORKLIBRARY | A biblioteca de rede usada para estabelecer uma conexão com uma instância do SQL Server na organização. |
Biblioteca de rede | SSPROP_INIT_NETWORKLIBRARY | Sinônimo de Rede. |
PacketSize | SSPROP_INIT_PACKETSIZE | Tamanho do pacote TDS (protocolo TDS). O padrão é 0 (o valor real será determinado pelo servidor). |
PersistSensitive | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | Aceita as cadeias de caracteres yes e no como valores. Quando no é usado, o objeto de fonte de dados não tem permissão para manter informações confidenciais de autenticação |
PWD | DBPROP_AUTH_PASSWORD | A senha de logon do SQL Server. |
Servidor | DBPROP_INIT_DATASOURCE | O nome de uma instância do SQL Server. O valor deve ser o nome de um servidor na rede, um endereço IP ou o nome de um alias do SQL Server Configuration Manager. Quando não especificado, uma conexão é estabelecida com a instância padrão no computador local. A palavra-chave Address substitui a palavra-chave Server. É possível se conectar à instância padrão no servidor local especificando uma das seguintes opções: Server=; Server=.; Server=(local); Server=(local); Server=(localhost); Server=(localdb)\instancename; Para obter mais informações sobre o LocalDB, confira Suporte ao Driver do OLE DB para SQL Server para LocalDB. Para especificar uma instância nomeada do SQL Server, acrescente \InstanceName. Quando nenhum servidor está especificado, uma conexão é estabelecida com a instância padrão no computador local. Se você especificar um endereço IP, verifique se os protocolos de pipes nomeados ou TCP/IP estão habilitados no SQL Server Configuration Manager. A sintaxe completa para a palavra-chave Server é a seguinte: Server= [protocolo: ]Server[ ,porta] Oprotocolo pode ser tcp (TCP/IP), lpc (memória compartilhada) ou np (pipes nomeados). O seguinte exemplo especifica um pipe nomeado: np:\\.\pipe\MSSQL$MYINST01\sql\query A linha acima especifica o protocolo de pipe nomeado ( np ), um pipe nomeado no computador local (\\.\pipe ), o nome da instância do SQL Server (MSSQL$MYINST01 ) e o nome padrão do pipe nomeado (sql/query ).Se nem um protocol nem a palavra-chave Network forem especificados, o Driver do OLE DB para SQL Server usará a ordem de protocolo especificada no SQL Server Configuration Manager. port é a porta à qual se conectar, no servidor especificado. Por padrão, o SQL Server usa a porta 1433. Os espaços são ignorados no começo do valor transmitido para Server em cadeias de conexão ODBC ao usar o Driver do OLE DB para SQL Server. |
ServerCertificate | SSPROP_INIT_SERVER_CERTIFICATE | Especifica o caminho para um arquivo de certificado a ser correspondido com o certificado TLS/SSL do SQL Server. Essa opção só pode ser usada quando a criptografia Strict está habilitada. Os formatos de certificado aceitos são PEM, DER e CER. Se especificado, o certificado SQL Server será verificado analisando se o certificado fornecido é uma correspondência exata. |
ServerSPN | SSPROP_INIT_SERVERSPN | O SPN do servidor. O valor padrão é uma cadeia de caracteres vazia. Uma cadeia de caracteres vazia faz com que o Driver do OLE DB para SQL Server use o SPN padrão gerado pelo provedor. |
Tempo Limite | DBPROP_INIT_TIMEOUT | O tempo (em segundos) para aguardar a conclusão da inicialização da fonte de dados. |
TransparentNetworkIPResolution | SSPROP_INIT_TNIR | Afeta a sequência de conexão quando o primeiro IP resolvido do nome do host não responde e há vários IPs associados ao nome do host. A TNIR interage com MultiSubnetFailover para fornecer diferentes sequências de conexão. Os valores possíveis são Yes e No . O valor padrão é Yes . Para saber mais, confira Usar resolução de IP de rede transparente. |
Trusted_Connection | DBPROP_AUTH_INTEGRATED | Em caso de yes , essa opção instrui o Driver do OLE DB para SQL Server a usar a Autenticação do Windows na validação do logon. Do contrário, o Driver do OLE DB para SQL Server usará um nome de usuário e uma senha do SQL Server na validação do logon. As palavras-chave UID e PWD devem ser especificadas. |
TrustServerCertificate1 | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | Aceita as cadeias de caracteres yes e no como valores. O valor padrão é no , o que significa que o certificado do servidor será validado. |
UID | DBPROP_AUTH_USERID | O nome de logon do SQL Server. |
UseFMTONLY | SSPROP_INIT_USEFMTONLY | Controla como os metadados são recuperados ao se conectar ao SQL Server 2012 (11.x) e mais recente. Os valores possíveis são yes e no . O valor padrão é no .Por padrão, o Driver do OLE DB para SQL Server usa os procedimentos armazenados sp_describe_first_result_set e sp_describe_undeclared_parameters para recuperar metadados. Esses procedimentos armazenados têm algumas limitações (por exemplo, eles falharão ao operar em tabelas temporárias). A configuração UseFMTONLY como yes instrui o driver a, em vez disso, usar SET FMTONLY para recuperação de metadados. |
UseProcForPrepare | SSPROP_INIT_USEPROCFORPREP | A palavra-chave é preterida e a configuração, ignorada pelo Driver do OLE DB para SQL Server. |
WSID | SSPROP_INIT_WSID | O identificador da estação de trabalho. |
[1]: Para aprimorar a segurança, a criptografia e o comportamento de validação de certificado são modificados ao usar as propriedades de inicialização do token de acesso ou da autenticação ou as palavras-chave de cadeia de conexão correspondentes. Para obter mais informações, veja Criptografia e validação de certificado.
Usar IDataInitialize::GetDataSource
As cadeias de conexão usadas por aplicativos OLE DB que usam IDataInitialize::GetDataSource têm a seguinte sintaxe:
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=[quote]attribute-value[quote]
attribute-value ::= character-string
attribute-keyword ::= identifier
quote ::= " | '
O uso de propriedades deve estar em conformidade com a sintaxe permitida em seu escopo. Por exemplo, WSID usa caracteres de chaves ( {} ) e Application Name usa caracteres de aspas simples ( ' ) ou de aspas duplas ( " ). Apenas propriedades de cadeia de caracteres podem ser colocadas entre aspas. A tentativa de colocar entre aspas um inteiro ou propriedade enumerada resultará em um erro de Connection String doesn't conform to OLE DB specification
.
Opcionalmente, os valores de atributos podem ser colocados entre aspas simples ou duplas, o que é uma boa prática. Essa prática evita problemas quando os valores contêm caracteres não alfanuméricos. O caractere de aspas usado também poderá ser exibido em valores se forem aspas duplas.
Um caractere de espaço após o sinal de igual (=) de uma palavra-chave de cadeia de conexão será interpretado como um literal, mesmo que o valor seja colocado entre aspas.
Se uma cadeia de conexão tiver mais de uma das propriedades listadas na tabela a seguir, o valor da última propriedade será usado.
A tabela a seguir descreve as palavras-chave que podem ser usadas com IDataInitialize::GetDataSource:
Palavra-chave | Propriedade de inicialização | Descrição |
---|---|---|
Token de acesso1 | SSPROP_AUTH_ACCESS_TOKEN | O token de acesso usado para autenticar no Microsoft Entra ID. OBSERVAÇÃO: É um erro especificar essa palavra-chave e as palavras-chave de cadeia de conexão UID , PWD , Trusted_Connection ou Authentication ou as palavras-chave/propriedades correspondentes. |
Nome do Aplicativo | SSPROP_INIT_APPNAME | A cadeia de caracteres que identifica o aplicativo. |
Intenção do aplicativo | SSPROP_INIT_APPLICATIONINTENT | Declara o tipo de carga de trabalho de aplicativo ao conectar-se a um servidor. Os valores possíveis são ReadOnly e ReadWrite .O padrão é ReadWrite . Para obter mais informações sobre o suporte do Driver do OLE DB para SQL Server para Grupos de disponibilidade AlwaysOn, confira Compatibilidade do Driver do OLE DB para SQL Server para alta disponibilidade e recuperação de desastre. |
Autenticação1 | SSPROP_AUTH_MODE | Especifica que é usada a autenticação do SQL ou do Microsoft Entra. Os valores válidos são:
OBSERVAÇÃO: A palavra-chave ActiveDirectoryIntegrated também pode ser usada para a autenticação do Windows para SQL Server. Ela substitui as palavras-chave de autenticação do Integrated Security (ou Trusted_Connection ). É recomendável que os aplicativos que usam palavras-chave de Integrated Security (ou Trusted_Connection ) ou as propriedades correspondentes delas definam a palavra-chave de Authentication (ou a propriedade correspondente dela) como ActiveDirectoryIntegrated a fim de habilitar um novo comportamento de validação de certificado e criptografia.OBSERVAÇÃO: É recomendável que os aplicativos que usam a autenticação SQL Server definam a palavra-chave de Authentication (ou a propriedade correspondente dela) como SqlPassword a fim de habilitar um novo comportamento de validação de certificado e criptografia. |
Tradução automática | SSPROP_INIT_AUTOTRANSLATE | Configura a conversão de caracteres OEM/ANSI. Os valores reconhecidos são true e false . |
Connect Timeout | DBPROP_INIT_TIMEOUT | O tempo (em segundos) para aguardar a conclusão da inicialização da fonte de dados. |
Contagem de repetições de conexão | SSPROP_INIT_CONNECT_RETRY_COUNT | Controla o número de tentativas de reconexão em caso de perda de conexão. Os valores válidos variam de 0 a 255 . O valor padrão é 1 . O valor 0 resultaria em nenhuma tentativa de reconexão. Para obter mais informações, confira Resiliência de conexão ociosa. |
Intervalo de repetição de conexão | SSPROP_INIT_CONNECT_RETRY_INTERVAL | Especifica o número de segundos entre cada tentativa de conexão em caso de perda de conexão. Os valores válidos variam de 1 a 60 . O valor padrão é 10 . Para obter mais informações, confira Resiliência de conexão ociosa. |
Idioma Atual | SSPROPT_INIT_CURRENTLANGUAGE | O nome do idioma do SQL Server. |
Fonte de Dados | DBPROP_INIT_DATASOURCE | O nome de uma instância do SQL Server na organização. Quando não especificado, uma conexão é estabelecida com a instância padrão no computador local. Para obter mais informações sobre sintaxe de endereço válida, confira a descrição da palavra-chave Server neste artigo. |
DataTypeCompatibility | SSPROP_INIT_DATATYPECOMPATIBILITY | Especifica o modo de manipulação do tipo de dados a ser usado. Os valores reconhecidos são 0 para tipos de dados de provedor e 80 para tipos de dados do SQL Server 2000 (8.x). |
Failover Partner | SSPROP_INIT_FAILOVERPARTNER | O nome do servidor de failover usado no espelhamento de banco de dados. |
SPN do parceiro de failover | SSPROP_INIT_FAILOVERPARTNERSPN | O SPN do parceiro de failover. O valor padrão é uma cadeia de caracteres vazia. Uma cadeia de caracteres vazia faz com que o Driver do OLE DB para SQL Server use o SPN padrão gerado pelo provedor. |
Nome do host no certificado | SSPROP_INIT_HOST_NAME_CERTIFICATE | O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Se a palavra-chave Nome do Host no Certificado não estiver definida, o driver usará o valor de palavra-chave Fonte de Dados na URL de conexão como o nome do host para validar o certificado TLS/SSL do SQL Server. NOTA: essa propriedade será ignorada se o certificado do servidor for confiável. Se Usar Criptografia para Dados estiver definido como Strict , o certificado sempre será validado. |
Catálogo Inicial | DBPROP_INIT_CATALOG | Nome do banco de dados. |
Nome do Arquivo Inicial | SSPROP_INIT_FILENAME | O nome do arquivo primário (com o nome do caminho completo incluído) de um banco de dados anexável. Para usar AttachDBFileName, você também deve especificar o nome do banco de dados com a palavra-chave DATABASE da cadeia de caracteres do provedor. Caso o banco de dados já tenha sido anexado, o SQL Server não o anexa novamente; ele usa o banco de dados anexado como sendo o padrão da conexão. |
Segurança Integrada | DBPROP_AUTH_INTEGRATED | Aceita o valor SSPI para a Autenticação do Windows. |
Conexão MARS | SSPROP_INIT_MARSCONNECTION | Habilita ou desabilita MARS (Multiple Active Result Sets) na conexão. Os valores reconhecidos são true e false . O padrão é false . |
MultiSubnetFailover | SSPROP_INIT_MULTISUBNETFAILOVER | Sempre especifique MultiSubnetFailover=True ao se conectar ao ouvinte de um grupo de disponibilidade do SQL Server ou a uma instância de cluster de failover do SQL Server. MultiSubnetFailover=True configura o OLE DB Driver for SQL Server para fornecer mais rapidez na detecção do servidor ativo (atualmente) e na conexão a ele. Os valores possíveis são True e False . O padrão é False . Por exemplo:MultiSubnetFailover=True Para obter mais informações sobre o suporte do Driver do OLE DB para SQL Server para Grupos de disponibilidade AlwaysOn, confira Compatibilidade do Driver do OLE DB para SQL Server para alta disponibilidade e recuperação de desastre. |
Endereço de rede | SSPROP_INIT_NETWORKADDRESS | O endereço de rede de uma instância do SQL Server na organização. Para obter mais informações sobre sintaxe de endereço válida, confira a descrição da palavra-chave Address neste artigo. |
Biblioteca de rede | SSPROP_INIT_NETWORKLIBRARY | A biblioteca de rede usada para estabelecer uma conexão com uma instância do SQL Server na organização. |
Packet Size | SSPROP_INIT_PACKETSIZE | Tamanho do pacote TDS (protocolo TDS). O padrão é 0 (o valor real será determinado pelo servidor). |
Senha | DBPROP_AUTH_PASSWORD | A senha de logon do SQL Server. |
Persist Security Info | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | Aceita as cadeias de caracteres true e false como valores. Em caso de false , o objeto de fonte de dados não tem permissão para manter informações confidenciais de autenticação |
Provedor | Para o Driver do OLE DB para SQL Server, isso deve ser "MSOLEDBSQL19" ou "MSOLEDBSQL". | |
Certificado do servidor | SSPROP_INIT_SERVER_CERTIFICATE | Especifica o caminho para um arquivo de certificado a ser correspondido com o certificado TLS/SSL do SQL Server. Essa opção só pode ser usada quando a criptografia Strict está habilitada. Os formatos de certificado aceitos são PEM, DER e CER. Se especificado, o certificado SQL Server será verificado analisando se o certificado fornecido é uma correspondência exata. |
SPN do servidor | SSPROP_INIT_SERVERSPN | O SPN do servidor. O valor padrão é uma cadeia de caracteres vazia. Uma cadeia de caracteres vazia faz com que o Driver do OLE DB para SQL Server use o SPN padrão gerado pelo provedor. |
TransparentNetworkIPResolution | SSPROP_INIT_TNIR | Afeta a sequência de conexão quando o primeiro IP resolvido do nome do host não responde e há vários IPs associados ao nome do host. A TNIR interage com MultiSubnetFailover para fornecer diferentes sequências de conexão. Os valores possíveis são True e False . O valor padrão é True . Para saber mais, confira Usar resolução de IP de rede transparente. |
Confiar em certificado do servidor1 | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | Aceita as cadeias de caracteres true e false como valores. O valor padrão é false , o que significa que o certificado do servidor será validado. |
Usar criptografia para dados1 | SSPROP_INIT_ENCRYPT | Especifica se os dados devem ser criptografados antes de serem enviados pela rede. Os valores possíveis são Optional , Mandatory e Strict . O valor padrão é Mandatory . Para as versões 18.x.x, confira Diferenças de versões principais do MSOLEDBSQL. |
Usar FMTONLY | SSPROP_INIT_USEFMTONLY | Controla como os metadados são recuperados ao se conectar ao SQL Server 2012 (11.x) e mais recente. Os valores possíveis são true e false . O valor padrão é false .Por padrão, o Driver do OLE DB para SQL Server usa os procedimentos armazenados sp_describe_first_result_set e sp_describe_undeclared_parameters para recuperar metadados. Esses procedimentos armazenados têm algumas limitações (por exemplo, eles falharão ao operar em tabelas temporárias). A configuração UseFMTONLY como true instrui o driver a, em vez disso, usar SET FMTONLY para recuperação de metadados. |
ID de usuário | DBPROP_AUTH_USERID | O nome de logon do SQL Server. |
ID da estação de trabalho | SSPROP_INIT_WSID | O identificador da estação de trabalho. |
[1]: Para aprimorar a segurança, a criptografia e o comportamento de validação de certificado são modificados ao usar as propriedades de inicialização do token de acesso ou da autenticação ou as palavras-chave de cadeia de conexão correspondentes. Para obter detalhes, confira Criptografia e validação de certificado.
Observação
Na cadeia de conexão, a propriedade Old Password
define SSPROP_AUTH_OLD_PASSWORD, que é a senha atual (provavelmente expirada) que não está disponível por meio de uma propriedade de cadeia de caracteres do provedor.
Palavras-chave da cadeia de conexão do ADO (ActiveX Data Objects)
Os aplicativos ADO definem a propriedade ConnectionString dos objetos ADODBConnection ou fornecem uma cadeia de conexão como um parâmetro ao método Open de objetos ADODBConnection.
Os aplicativos ADO também podem usar as palavras-chave usadas pelo método IDBInitialize::Initialize do OLE DB, mas só para propriedades que não tenham um valor padrão. Se um aplicativo usar as palavras-chave do ADO e IDBInitialize::Initialize na cadeia de caracteres de inicialização, a configuração da palavra-chave do ADO será usada. É recomendável que os aplicativos só usem palavras-chave da cadeia de conexão do ADO.
As cadeias de conexão usadas pelo ADO têm a seguinte sintaxe:
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=["]attribute-value["]
attribute-value ::= character-string
attribute-keyword ::= identifier
Os valores de atributo podem ser colocados entre aspas duplas, sendo uma boa prática fazer isso. Essa prática evita problemas quando os valores contêm caracteres não alfanuméricos. Os valores de atributo não podem conter aspas duplas.
A seguinte tabela descreve as palavras-chave que podem ser usadas com uma cadeia de conexão do ADO:
Palavra-chave | Propriedade de inicialização | Descrição |
---|---|---|
Token de acesso1 | SSPROP_AUTH_ACCESS_TOKEN | O token de acesso usado para autenticar no Microsoft Entra ID. OBSERVAÇÃO: É um erro especificar essa palavra-chave e as palavras-chave de cadeia de conexão UID , PWD , Trusted_Connection ou Authentication ou as palavras-chave/propriedades correspondentes. |
Intenção do aplicativo | SSPROP_INIT_APPLICATIONINTENT | Declara o tipo de carga de trabalho de aplicativo ao conectar-se a um servidor. Os valores possíveis são ReadOnly e ReadWrite .O padrão é ReadWrite . Para obter mais informações sobre o suporte do Driver do OLE DB para SQL Server para Grupos de disponibilidade AlwaysOn, confira Compatibilidade do Driver do OLE DB para SQL Server para alta disponibilidade e recuperação de desastre. |
Nome do Aplicativo | SSPROP_INIT_APPNAME | A cadeia de caracteres que identifica o aplicativo. |
Autenticação1 | SSPROP_AUTH_MODE | Especifica que é usada a autenticação do SQL ou do Microsoft Entra. Os valores válidos são:
OBSERVAÇÃO: A palavra-chave ActiveDirectoryIntegrated também pode ser usada para a autenticação do Windows para SQL Server. Ela substitui as palavras-chave de autenticação do Integrated Security (ou Trusted_Connection ). É recomendável que os aplicativos que usam palavras-chave de Integrated Security (ou Trusted_Connection ) ou as propriedades correspondentes delas definam a palavra-chave de Authentication (ou a propriedade correspondente dela) como ActiveDirectoryIntegrated a fim de habilitar um novo comportamento de validação de certificado e criptografia.OBSERVAÇÃO: É recomendável que os aplicativos que usam a autenticação SQL Server definam a palavra-chave de Authentication (ou a propriedade correspondente dela) como SqlPassword a fim de habilitar um novo comportamento de validação de certificado e criptografia. |
Tradução automática | SSPROP_INIT_AUTOTRANSLATE | Configura a conversão de caracteres OEM/ANSI. Os valores reconhecidos são true e false . |
Connect Timeout | DBPROP_INIT_TIMEOUT | O tempo (em segundos) para aguardar a conclusão da inicialização da fonte de dados. |
Contagem de repetições de conexão | SSPROP_INIT_CONNECT_RETRY_COUNT | Controla o número de tentativas de reconexão em caso de perda de conexão. Os valores válidos variam de 0 a 255 . O valor padrão é 1 . O valor 0 resultaria em nenhuma tentativa de reconexão. Para obter mais informações, confira Resiliência de conexão ociosa. |
Intervalo de repetição de conexão | SSPROP_INIT_CONNECT_RETRY_INTERVAL | Especifica o número de segundos entre cada tentativa de conexão em caso de perda de conexão. Os valores válidos variam de 1 a 60 . O valor padrão é 10 . Para obter mais informações, confira Resiliência de conexão ociosa. |
Idioma Atual | SSPROPT_INIT_CURRENTLANGUAGE | O nome do idioma do SQL Server. |
Fonte de Dados | DBPROP_INIT_DATASOURCE | O nome de uma instância do SQL Server na organização. Quando não especificado, uma conexão é estabelecida com a instância padrão no computador local. Para obter mais informações sobre sintaxe de endereço válida, confira a descrição da palavra-chave Server neste artigo. |
DataTypeCompatibility | SSPROP_INIT_DATATYPECOMPATIBILITY | Especifica o modo de manuseio do tipo de dados a ser usado. Os valores reconhecidos são 0 para tipos de dados do provedor e 80 para tipos de dados do SQL Server 2000. |
Failover Partner | SSPROP_INIT_FAILOVERPARTNER | O nome do servidor de failover usado no espelhamento de banco de dados. |
SPN do parceiro de failover | SSPROP_INIT_FAILOVERPARTNERSPN | O SPN do parceiro de failover. O valor padrão é uma cadeia de caracteres vazia. Uma cadeia de caracteres vazia faz com que o Driver do OLE DB para SQL Server use o SPN padrão gerado pelo provedor. |
Nome do host no certificado | SSPROP_INIT_HOST_NAME_CERTIFICATE | O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Se a palavra-chave Nome do Host no Certificado não estiver definida, o driver usará o valor de palavra-chave Fonte de Dados na URL de conexão como o nome do host para validar o certificado TLS/SSL do SQL Server. NOTA: essa propriedade será ignorada se o certificado do servidor for confiável. Se Usar Criptografia para Dados estiver definido como Strict , o certificado sempre será validado. |
Catálogo Inicial | DBPROP_INIT_CATALOG | Nome do banco de dados. |
Nome do Arquivo Inicial | SSPROP_INIT_FILENAME | O nome do arquivo primário (com o nome do caminho completo incluído) de um banco de dados anexável. Para usar AttachDBFileName, você também deve especificar o nome do banco de dados com a palavra-chave DATABASE da cadeia de caracteres do provedor. Caso o banco de dados já tenha sido anexado, o SQL Server não o anexa novamente; ele usa o banco de dados anexado como sendo o padrão da conexão. |
Segurança Integrada | DBPROP_AUTH_INTEGRATED | Aceita o valor SSPI para a Autenticação do Windows. |
Conexão MARS | SSPROP_INIT_MARSCONNECTION | Habilita ou desabilita MARS na conexão caso o servidor seja SQL Server 2005 (9.x) ou posterior. Os valores reconhecidos são true e false . O padrão é false . |
MultiSubnetFailover | SSPROP_INIT_MULTISUBNETFAILOVER | Sempre especifique MultiSubnetFailover=True ao se conectar ao ouvinte de um grupo de disponibilidade do SQL Server ou a uma instância de cluster de failover do SQL Server. MultiSubnetFailover=True configura o OLE DB Driver for SQL Server para fornecer mais rapidez na detecção do servidor ativo (atualmente) e na conexão a ele. Os valores possíveis são True e False . O padrão é False . Por exemplo:MultiSubnetFailover=True Para obter mais informações sobre o suporte do Driver do OLE DB para SQL Server para Grupos de disponibilidade AlwaysOn, confira Compatibilidade do Driver do OLE DB para SQL Server para alta disponibilidade e recuperação de desastre. |
Endereço de rede | SSPROP_INIT_NETWORKADDRESS | O endereço de rede de uma instância do SQL Server na organização. Para obter mais informações sobre sintaxe de endereço válida, confira a descrição da palavra-chave Address neste artigo. |
Biblioteca de rede | SSPROP_INIT_NETWORKLIBRARY | A biblioteca de rede usada para estabelecer uma conexão com uma instância do SQL Server na organização. |
Packet Size | SSPROP_INIT_PACKETSIZE | Tamanho do pacote TDS (protocolo TDS). O padrão é 0 (o valor real será determinado pelo servidor). |
Senha | DBPROP_AUTH_PASSWORD | A senha de logon do SQL Server. |
Persist Security Info | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | Aceita as cadeias de caracteres true e false como valores. Em caso de false , o objeto de fonte de dados não tem permissão para manter informações confidenciais de autenticação. |
Provedor | Para o Driver do OLE DB para SQL Server, o valor é MSOLEDBSQL19 ou MSOLEDBSQL . |
|
Certificado do servidor | SSPROP_INIT_SERVER_CERTIFICATE | Especifica o caminho para um arquivo de certificado a ser correspondido com o certificado TLS/SSL do SQL Server. Essa opção só pode ser usada quando a criptografia Strict está habilitada. Os formatos de certificado aceitos são PEM, DER e CER. Se especificado, o certificado SQL Server será verificado analisando se o certificado fornecido é uma correspondência exata. |
SPN do servidor | SSPROP_INIT_SERVERSPN | O SPN do servidor. O valor padrão é uma cadeia de caracteres vazia. Uma cadeia de caracteres vazia faz com que o Driver do OLE DB para SQL Server use o SPN padrão gerado pelo provedor. |
TransparentNetworkIPResolution | SSPROP_INIT_TNIR | Afeta a sequência de conexão quando o primeiro IP resolvido do nome do host não responde e há vários IPs associados ao nome do host. A TNIR interage com MultiSubnetFailover para fornecer diferentes sequências de conexão. Os valores possíveis são True e False . O valor padrão é True . Para saber mais, confira Usar resolução de IP de rede transparente. |
Confiar em certificado do servidor1 | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | Aceita as cadeias de caracteres true e false como valores. O valor padrão é false , o que significa que o certificado do servidor será validado. |
Usar criptografia para dados1 | SSPROP_INIT_ENCRYPT | Especifica se os dados devem ser criptografados antes de serem enviados pela rede. Os valores possíveis são Optional , Mandatory e Strict . O valor padrão é Mandatory . Para as versões 18.x.x, confira Diferenças de versões principais do MSOLEDBSQL. |
Usar FMTONLY | SSPROP_INIT_USEFMTONLY | Controla como os metadados são recuperados ao se conectar ao SQL Server 2012 (11.x) e mais recente. Os valores possíveis são true e false . O valor padrão é false .Por padrão, o Driver do OLE DB para SQL Server usa os procedimentos armazenados sp_describe_first_result_set e sp_describe_undeclared_parameters para recuperar metadados. Esses procedimentos armazenados têm algumas limitações (por exemplo, eles falharão ao operar em tabelas temporárias). A configuração UseFMTONLY como true instrui o driver a, em vez disso, usar SET FMTONLY para recuperação de metadados. |
ID de usuário | DBPROP_AUTH_USERID | O nome de logon do SQL Server. |
ID da estação de trabalho | SSPROP_INIT_WSID | O identificador da estação de trabalho. |
[1]: Para aprimorar a segurança, a criptografia e o comportamento de validação de certificado são modificados ao usar as propriedades de inicialização do token de acesso ou da autenticação ou as palavras-chave de cadeia de conexão correspondentes. Para obter detalhes, confira Criptografia e validação de certificado.
Observação
Na cadeia de conexão, a propriedade "Old Password" define SSPROP_AUTH_OLD_PASSWORD, que é a senha atual (provavelmente expirada) que não está disponível por meio de uma propriedade de cadeia de caracteres do provedor.
Confira também
Criação de aplicativos com o Driver do OLE DB para SQL Server