Usando palavras-chave da cadeia de conexão com o SQL Server Native Client
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)
Importante
O SQL Server Native Client (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Provedor OLE DB herdado da Microsoft para o SQL Server (SQLOLEDB) não são recomendados para um novo desenvolvimento de aplicativo. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) ou o Microsoft ODBC Driver for SQL Server mais recente no futuro. Para SQLNCLI que é fornecido como um componente do Mecanismo de Banco de Dados do SQL Server (versões 2012 a 2019), consulte esta exceção de Ciclo de Vida de Suporte.
Algumas APIs SQL Server Native Client usam cadeias de conexão para especificar atributos de conexão. Cadeias de conexão são listas de palavras-chave e valores associados; cada palavra-chave identifica um atributo de conexão específico.
Para obter informações, consulte Usando palavras-chave de cadeia de conexão com Driver do OLE DB para SQL Server.
Observação
SQL Server Native Client permite que a ambiguidade em cadeias de conexão mantenha a compatibilidade com versões anteriores (por exemplo, algumas palavras-chave podem ser especificadas mais de uma vez e palavras-chave conflitantes podem ser permitidas com resolução com base na posição ou precedência). É uma boa prática ao modificar aplicativos para usar SQL Server Native Client para eliminar qualquer dependência da ambiguidade da cadeia de conexão.
As seções a seguir descrevem as palavras-chave que podem ser usadas com o provedor OLE DB SQL Server Native Client, o driver ODBC SQL Server Native Client e o ADO (ActiveX Data Objects) ao usar SQL Server Native Client como provedor de dados.
Palavras-chave da cadeia de conexão do driver ODBC
Os aplicativos ODBC usam cadeias de conexão como parâmetros para as funções SQLDriverConnect e SQLBrowseConnect .
As cadeias de conexão usadas pelo ODBC 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, sendo uma boa prática fazer isso. Isso 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.
A seguinte tabela descreve as palavras-chave que podem ser usadas com uma cadeia de conexão ODBC.
Palavra-chave | Descrição |
---|---|
Addr | Sinônimo de "Endereço". |
Endereço | 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 o Servidor em cadeias de conexão ODBC ao usar SQL Server Native Client. 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 o protocolo nem o palavra-chave de Rede forem especificados, SQL Server Native Client 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. |
AnsiNPW | No caso de "sim", o driver usa comportamentos definidos por ANSI para tratar comparações NULL, preenchimento de dados de caractere, avisos e concatenação NULL. Em caso de "não", os comportamentos definidos por ANSI não são expostos. Para obter mais informações sobre comportamentos ansi NPW, consulte Efeitos das opções ISO. |
APP | Nome do aplicativo que chama SQLDriverConnect (opcional). Se especificado, esse valor é armazenado na coluna master.dbo.sysprocessesprogram_name e é retornado por sp_who e pelas funções APP_NAME. |
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. Por exemplo:ApplicationIntent=ReadOnly Para obter mais informações sobre o suporte de SQL Server Native Client para grupos de disponibilidade Always On, consulte Suporte SQL Server Native Client para alta disponibilidade e recuperação de desastre. |
AttachDBFileName | Nome do arquivo primário de um banco de dados anexável. Inclua o caminho completo e remova todos os caracteres \ caso esteja usando uma variável da cadeia de caracteres C:AttachDBFileName=c:\\MyFolder\\MyDB.mdf Esse banco de dados é anexado e torna-se o banco de dados padrão da conexão. Para usar AttachDBFileName, você também deve especificar o nome do banco de dados no parâmetro SQLDriverConnect DATABASE ou no atributo de conexão SQL_COPT_CURRENT_CATALOG. Se o banco de dados foi anexado anteriormente, SQL Server não o anexa novamente; ele usa o banco de dados anexado como o padrão para a conexão. |
AutoTranslate | Em caso de "sim, as cadeias de caracteres ANSI enviadas entre o cliente e o servidor são traduzidas com a conversão por Unicode para minimizar problemas na correspondência de caracteres estendidos entre as páginas de código no cliente e no servidor. Os dados de SQL_C_CHAR do cliente enviados a um SQL Server char, varchar ou variável de texto, parâmetro ou coluna são convertidos de caractere em Unicode usando a ACP (página de código ANSI) do cliente e, em seguida, convertidos de Unicode em caractere usando o ACP do servidor. SQL Server dados char, varchar ou text enviados a um cliente SQL_C_CHAR variável é convertida de caractere em Unicode usando o ACP do servidor e, em seguida, convertida de Unicode em caractere usando o ACP do cliente. Essas conversões são executadas no cliente pelo driver ODBC SQL Server Native Client. Isso exige que a mesma ACP usada no servidor esteja disponível no cliente. Estas configurações não têm nenhum efeito nas conversões que ocorrem para estas transferências: * Os dados do cliente SQL_C_WCHAR Unicode enviados para char, varchar ou text no servidor. * char, varchar ou dados de servidor de texto enviados para uma variável de SQL_C_WCHAR Unicode no cliente. * ANSI SQL_C_CHAR dados do cliente enviados para Unicode nchar, nvarchar ou ntext no servidor. * Dados de servidor Unicode nchar, nvarchar ou ntext enviados para uma variável de SQL_C_CHAR ANSI no cliente. Em caso de "não", a conversão de caracteres não é realizada. O driver ODBC SQL Server Native Client não converte o caractere ANSI do cliente SQL_C_CHAR dados enviados para variáveis char, varchar ou text, parâmetros ou colunas no servidor. Nenhuma tradução é executada em dados char, varchar ou text enviados do servidor para SQL_C_CHAR variáveis no cliente. Se o cliente e SQL Server estiverem usando ACPs diferentes, os caracteres estendidos poderão ser interpretados incorretamente. |
Backup de banco de dados | Nome do banco de dados de SQL Server padrão para a conexão. Se Database não for especificado, o banco de dados padrão definido para o logon será usado. O banco de dados padrão da fonte de dados ODBC substitui o banco de dados padrão definido para o logon. O banco de dados deve ser um banco de dados existente, a menos que AttachDBFileName também seja especificado. Se AttachDBFileName também for especificado, o arquivo primário ao qual ele aponta será anexado e dado o nome do banco de dados especificado pelo Banco de Dados. |
Driver | Nome do driver, conforme retornado por SQLDrivers. O valor palavra-chave para o driver ODBC SQL Server Native Client é "{SQL Server Native Client 11.0}". A palavra-chave do Servidor será necessária se Driver for especificado e DriverCompletion estiver definido como SQL_DRIVER_NOPROMPT. Para obter mais informações sobre nomes de driver, consulte Usando os arquivos de cabeçalho e biblioteca do SQL Server Native Client. |
DSN | Nome de um usuário de ODBC existente ou fonte de dados do sistema. Esse palavra-chave substitui todos os valores que podem ser especificados nas palavras-chave Servidor, Rede e Endereço. |
Encrypt | Especifica se os dados devem ser criptografados antes de serem enviados pela rede. Os valores possíveis são "yes"/"mandatory"(18.0+), "no"/"optional"(18.0+) e "strict"(18.0+). O valor padrão é "sim" na versão 18.0+ e "não" em versões anteriores. |
Fallback | Essa palavra-chave foi preterida e sua configuração é ignorada pelo driver ODBC do SQL Server Native Client. |
Failover_Partner | Nome do servidor de parceiro de failover a ser usado caso não seja possível estabelecer uma conexão com o servidor primário. |
FailoverPartnerSPN | O SPN do parceiro de failover. O valor padrão é uma cadeia de caracteres vazia. Uma cadeia de caracteres vazia faz com que SQL Server Native Client use o SPN padrão gerado pelo driver. |
FileDSN | Nome de uma fonte de dados do arquivo ODBC existente. |
Idioma | SQL Server nome do idioma (opcional). SQL Server pode armazenar mensagens para vários idiomas em sysmessages. Se estiver se conectando a um SQL Server com vários idiomas, Language especificará qual conjunto de mensagens será usado para a conexão. |
MARS_Connection | Habilita ou desabilita MARS (Multiple Active Result Sets) na conexão. Os valores reconhecidos são "sim" e "não". O padrão é "não". |
MultiSubnetFailover | Sempre especifique multiSubnetFailover=Yes ao se conectar ao ouvinte do grupo de disponibilidade de um grupo de disponibilidade SQL Server ou a uma Instância de Cluster de Failover do SQL Server. multiSubnetFailover=Yes configura SQL Server Native Client para fornecer detecção e conexão mais rápidas com o servidor ativo (atualmente). Os valores possíveis são Sim e Não. O padrão é No. Por exemplo:MultiSubnetFailover=Yes Para obter mais informações sobre o suporte de SQL Server Native Client para grupos de disponibilidade Always On, consulte Suporte SQL Server Native Client para alta disponibilidade e recuperação de desastre. |
Net | Sinônimo de "Rede". |
Rede | Os valores válidos são dbnmpntw (pipes nomeados) e dbmssocn (TCP/IP). É um erro especificar um valor para o palavra-chave de Rede e um prefixo de protocolo no palavra-chave do Servidor. |
PWD | A senha do SQL Server conta de logon especificada no parâmetro UID. PWD não precisará ser especificado se o logon tiver uma senha NULL ou ao usar a Autenticação do Windows (Trusted_Connection = yes ). |
QueryLog_On | Em caso de "sim", o registro em log de dados de consultas demoradas é habilitado na conexão. Em caso de "não", os dados de consultas demoradas não são registrados. |
QueryLogFile | Caminho completo e nome de um arquivo a ser usado para registrar em log dados de consultas demoradas. |
QueryLogTime | Cadeia de caracteres de dígito que especifica o limite (em milissegundos) para registrar em log consultas demoradas. Qualquer consulta que não receba uma resposta na hora especificada é gravada no arquivo de log de consultas demoradas. |
QuotedId | Quando "sim", QUOTED_IDENTIFIERS é definido como ON para a conexão, SQL Server usa as regras ISO em relação ao uso de aspas em instruções SQL. Quando não, QUOTED_IDENTIFIERS será definido como OFF para a conexão. SQL Server segue as regras herdadas do Transact-SQL em relação ao uso de aspas em instruções SQL. Para obter mais informações, consulte Efeitos das opções iso. |
Regional | Quando "sim", o driver ODBC do SQL Server Native Client usa as configurações do cliente ao converter dados de moeda, data e hora em dados de caracteres. A conversão é apenas um meio; o driver não reconhece formatos padrão que não sejam ODBC para cadeias de caracteres de data ou valores de moeda contidos. Por exemplo, um parâmetro usado em uma instrução INSERT ou UPDATE. Em caso de "não", o driver usa as cadeias de caracteres padrão ODBC para representar dados de moeda, data e hora convertidos em dados de caractere. |
SaveFile | Nome de um arquivo de fonte de dados ODBC no qual os atributos da conexão atual serão salvos em caso de êxito na conexão. |
Servidor | 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. 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 suporte ao LocalDB, consulte Suporte SQL Server Native Client 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 é um exemplo de como especificar um pipe nomeado: np:\\.\pipe\MSSQL$MYINST01\sql\query Essa linha especifica o protocolo de pipe nomeado, um pipe nomeado no computador local ( \\.\pipe ), o nome da instância de SQL Server (MSSQL$MYINST01 ) e o nome padrão do pipe nomeado (sql/query ).Se nem um protocolo nem o palavra-chave de Rede forem especificados, SQL Server Native Client usará a ordem de protocolo especificada em 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 início do valor passado para o Servidor em cadeias de conexão ODBC ao usar SQL Server Native Client. |
ServerSPN | O SPN do servidor. O valor padrão é uma cadeia de caracteres vazia. Uma cadeia de caracteres vazia faz com que SQL Server Native Client use o SPN padrão gerado pelo driver. |
StatsLog_On | Quando "sim", habilita a captura de SQL Server Native Client dados de desempenho do driver ODBC. Quando "não", SQL Server Native Client os dados de desempenho do driver ODBC não estão disponíveis na conexão. |
StatsLogFile | Caminho completo e nome de arquivo de um arquivo usado para registrar SQL Server Native Client estatísticas de desempenho do driver ODBC. |
Trusted_Connection | Quando "sim", instrui o SQL Server Native Client driver ODBC a usar o Modo de Autenticação do Windows para validação de logon. Caso contrário, instrui o SQL Server Native Client driver ODBC a usar um SQL Server nome de usuário e senha para validação de logon, e as palavras-chave UID e PWD devem ser especificadas. |
TrustServerCertificate | Quando usado com Encrypt, habilita a criptografia usando um certificado de servidor autoassinado. |
UID | Uma conta de logon SQL Server válida. O UID não precisa ser especificado durante o uso da Autenticação do Windows. |
UseProcForPrepare | Essa palavra-chave foi preterida e sua configuração é ignorada pelo driver ODBC SQL Server Native Client. |
WSID | A ID da estação de trabalho. Normalmente, trata-se do nome de rede do computador em que está o aplicativo (opcional). Se especificado, esse valor é armazenado no nome do host da coluna master.dbo.sysprocesses e é retornado por sp_who e pela função HOST_NAME. |
Observação
As configurações regionais de conversão se aplicam a tipos de dados de moeda, numéricos e de data e hora. A configuração da conversão só se aplica à conversão de saída, sendo visível apenas quando valores de moeda, número, data ou hora são convertidos em cadeias de caracteres.
O driver ODBC SQL Server Native Client usa as configurações de registro de localidade para o usuário atual. O driver não respeitará a localidade do thread atual se o aplicativo o definir após a conexão, por exemplo, chamando SetThreadLocale.
A alteração do comportamento regional de uma fonte de dados pode fazer o aplicativo falhar. Um aplicativo que analisa cadeias de caracteres de data e espera que elas sejam exibidas conforme definição do ODBC poderia ser afetado negativamente pela alteração desse valor.
Palavras-chave da cadeia de conexão do provedor 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 "sim" e "não". As propriedades boolianas definidas nas cadeias de caracteres de inicialização que usam IDataInitialize::GetDataSource são definidas usando os valores "verdadeiro" e "falso".
Os aplicativos que usam IDataInitialize::GetDataSource também podem usar as palavras-chave usadas por IDBInitialize::Initialize , mas apenas para propriedades que não têm 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. É altamente 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 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.
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, sendo uma boa prática fazer isso. Isso 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 igual (=) 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 de uma instância do SQL Server na organização. Para obter mais informações sobre a sintaxe de endereço válida, consulte a descrição do endereço ODBC palavra-chave, posteriormente neste tópico. |
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 SQL Server Native Client para grupos de disponibilidade Always On, consulte suporte SQL Server Native Client para alta disponibilidade e recuperação de desastres. |
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). |
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 "sim" e "não". |
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. |
Encrypt | SSPROP_INIT_ENCRYPT | Especifica se os dados devem ser criptografados antes de serem enviados pela rede. Os valores possíveis são "sim" e "não". O valor padrão é "não". |
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 SQL Server Native Client use o SPN padrão gerado pelo provedor. |
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 "sim" e "não". O valor padrão é "não". |
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 de rede. O padrão é 4096. |
PersistSensitive | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | Aceita as cadeias de caracteres "sim" e "não" como valores. Em caso de "não", 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 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 a sintaxe de endereço válida, consulte a descrição do palavra-chave ODBC do Servidor, neste tópico. |
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 SQL Server Native Client 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. |
Trusted_Connection | DBPROP_AUTH_INTEGRATED | Quando "sim", instrui o SQL Server Native Client provedor OLE DB a usar o Modo de Autenticação do Windows para validação de logon. Caso contrário, instrui o SQL Server Native Client provedor OLE DB a usar um nome de usuário SQL Server e senha para validação de logon, e as palavras-chave UID e PWD devem ser especificadas. |
TrustServerCertificate | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | Aceita as cadeias de caracteres "sim" e "não" como valores. O valor padrão é "não", o que significa que o certificado do servidor será validado. |
UID | DBPROP_AUTH_USERID | O nome de logon do SQL Server. |
UseProcForPrepare | SSPROP_INIT_USEPROCFORPREP | Essa palavra-chave foi preterida e sua configuração é ignorada pelo provedor OLE DB SQL Server Native Client. |
WSID | SSPROP_INIT_WSID | O identificador da estação de trabalho. |
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 um número inteiro ou propriedade enumerada entre aspas resultará no erro: "A Cadeia de Conexão não está de acordo com a especificação OLE DB".
Opcionalmente, os valores de atributos podem ser colocados entre aspas simples ou duplas, o que é uma boa prática. Isso evita problemas quando os valores contêm caracteres não alfanuméricos. O caractere de aspas usado também pode ser exibido em valores, desde que seja dobrado.
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 |
---|---|---|
Nome do Aplicativo | SSPROP_INIT_APPNAME | A cadeia de caracteres que identifica o aplicativo. |
Intenção do aplicativo | SSPROP_INIT_APPLICATIONINTENT | Sinônimo de "ApplicationIntent". |
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 SQL Server Native Client para grupos de disponibilidade Always On, consulte suporte SQL Server Native Client para alta disponibilidade e recuperação de desastres. |
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 "verdadeiro" e "falso". |
Connect Timeout | DBPROP_INIT_TIMEOUT | O tempo (em segundos) para aguardar a conclusão da inicialização da fonte de dados. |
Idioma Atual | SSPROP_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 a sintaxe de endereço válida, consulte a descrição do palavra-chave ODBC do Servidor, mais adiante neste tópico. |
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 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 SQL Server Native Client use o SPN padrão gerado pelo provedor. |
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 o "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 "verdadeiro" e "falso". O padrão é "falso". |
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 a sintaxe de endereço válida, consulte a descrição do endereço ODBC palavra-chave, mais adiante neste tópico. |
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 de rede. O padrão é 4096. |
Senha | DBPROP_AUTH_PASSWORD | A senha de logon do SQL Server. |
Persist Security Info | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | Aceita as cadeias de caracteres "verdadeiro" e "falso" como valores. Em caso de "falso", o objeto de fonte de dados não tem permissão para manter informações confidenciais de autenticação |
Provedor | Para SQL Server Native Client, deve ser "SQLNCLI11". | |
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 SQL Server Native Client use o SPN padrão gerado pelo provedor. |
Confiar em Certificado do Servidor | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | Aceita as cadeias de caracteres "verdadeiro" e "falso" como valores. O valor padrão é "falso", o que significa que o certificado do servidor será validado. |
Use Encryption for Data | SSPROP_INIT_ENCRYPT | Especifica se os dados devem ser criptografados antes de serem enviados pela rede. Os valores possíveis são "verdadeiro" e "falso". O valor padrão é "falso". |
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. |
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. É altamente 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. Isso 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 |
---|---|---|
Intenção do aplicativo | SSPROP_INIT_APPLICATIONINTENT | Sinônimo de "ApplicationIntent". |
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 de SQL Server Native Client para grupos de disponibilidade Always On, consulte Suporte SQL Server Native Client para alta disponibilidade e recuperação de desastre. |
Nome do Aplicativo | SSPROP_INIT_APPNAME | A cadeia de caracteres que identifica o aplicativo. |
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 "verdadeiro" e "falso". |
Connect Timeout | DBPROP_INIT_TIMEOUT | O tempo (em segundos) para aguardar a conclusão da inicialização da fonte de dados. |
Idioma Atual | SSPROP_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 a sintaxe de endereço válida, consulte a descrição da palavra-chave ODBC do Servidor, neste tópico. |
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 SQL Server Native Client use o SPN padrão gerado pelo provedor. |
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 o "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 "verdadeiro" e "falso".O padrão é "falso". |
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 a sintaxe de endereço válida, consulte a descrição do endereço ODBC palavra-chave, neste tópico. |
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 de rede. O padrão é 4096. |
Senha | DBPROP_AUTH_PASSWORD | A senha de logon do SQL Server. |
Persist Security Info | DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | Aceita as cadeias de caracteres "verdadeiro" e "falso" como valores. Quando "falso", o objeto de fonte de dados não tem permissão para manter informações confidenciais de autenticação. |
Provedor | Para SQL Server Native Client, isso deve ser "SQLNCLI11". | |
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 SQL Server Native Client use o SPN padrão gerado pelo provedor. |
Confiar em Certificado do Servidor | SSPROP_INIT_TRUST_SERVER_CERTIFICATE | Aceita as cadeias de caracteres "verdadeiro" e "falso" como valores. O valor padrão é "falso", o que significa que o certificado do servidor será validado. |
Use Encryption for Data | SSPROP_INIT_ENCRYPT | Especifica se os dados devem ser criptografados antes de serem enviados pela rede. Os valores possíveis são "verdadeiro" e "falso". O valor padrão é "falso". |
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. |
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
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários