Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Cada fornecedor de dados ADO.NET tem um objeto Connection que herda de DbConnection, bem como uma propriedade específica ConnectionString do fornecedor. A sintaxe específica da cadeia de conexão para cada provedor está documentada em sua ConnectionString propriedade. A tabela seguinte lista a Microsoft.Data.SqlClient e três fornecedores incluídos no .NET Framework.
| Fornecedor de dados | Descrição |
|---|---|
| Microsoft.Data.SqlClient | Fornece acesso a dados para o Microsoft SQL Server através do pacote NuGet Microsoft.Data.SqlClient. Para obter mais informações sobre a sintaxe da cadeia de conexão, consulte ConnectionString. |
| System.Data.OleDb | Fornece acesso a dados para fontes de dados expostas usando OLE DB. Para obter mais informações sobre a sintaxe da cadeia de conexão, consulte ConnectionString. |
| System.Data.Odbc | Fornece acesso a dados para fontes de dados expostas usando ODBC. Para obter mais informações sobre a sintaxe da cadeia de conexão, consulte ConnectionString. |
| System.Data.OracleClient | Fornece acesso a dados para Oracle versão 8.1.7 ou posterior. Para obter mais informações sobre a sintaxe da cadeia de conexão, consulte ConnectionString. |
Construtores de cadeias de conexão
Utilize o cadeia de ligação builder para o seu fornecedor de dados.
- SqlConnectionStringBuilder
- OleDbConnectionStringBuilder
- OdbcConnectionStringBuilder
- OracleConnectionStringBuilder
Os construtores de strings de ligação permitem-lhe construir cadeias de ligação sintaticamente válidas em tempo de execução, por isso não precisa de concatenar manualmente os valores das cadeias de ligação no seu código. Para obter mais informações, consulte Construtores de cadeias de conexão.
Autenticação do Windows
A Autenticação do Windows (às vezes chamada de segurança integrada) pode ser usada para se conectar a fontes de dados que a suportam. A sintaxe empregada na cadeia de conexão varia de acordo com o provedor. A tabela seguinte mostra a sintaxe de autenticação Windows usada com estes fornecedores de dados.
| Fornecedor | Sintaxe |
|---|---|
SqlClient |
Integrated Security=true;-- or --Integrated Security=SSPI; |
OleDb |
Integrated Security=SSPI; |
Odbc |
Trusted_Connection=yes; |
OracleClient |
Integrated Security=yes; |
Nota
Integrated Security=true lança uma exceção quando usado com o OleDb provedor.
Importante
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. Se você estiver se conectando ao SQL do Azure, as Identidades Gerenciadas para recursos do Azure serão o método de autenticação recomendado.
Cadeias de conexão SqlClient
A sintaxe de uma SqlConnection cadeia de conexão está documentada na propriedade SqlConnection.ConnectionString. Você pode usar a ConnectionString propriedade para obter ou definir uma cadeia de conexão para um banco de dados do SQL Server. A maioria das palavras-chave da cadeia de conexão também são mapeadas para propriedades no SqlConnectionStringBuilder.
Importante
A configuração padrão para a Persist Security Info palavra-chave é false. Defini-lo como true ou yes permite que informações confidenciais de segurança, incluindo o ID de usuário e a senha, sejam obtidas da conexão após a conexão ter sido aberta. Mantenha Persist Security Info definido para false, a fim de garantir que uma fonte não confiável não tenha acesso a informações confidenciais da cadeia de conexão.
Autenticação do Windows com SqlClient
Cada uma das seguintes formas de sintaxe utiliza a Autenticação Windows para se ligar à AdventureWorks base de dados no servidor especificado.
"Persist Security Info=False;Integrated Security=true;Initial Catalog=AdventureWorks;Server=<server>;Encrypt=true"
"Persist Security Info=False;Integrated Security=SSPI;database=AdventureWorks;server=<server>;Encrypt=true"
"Persist Security Info=False;Trusted_Connection=True;database=AdventureWorks;server=<server>;Encrypt=true"
Importante
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. Se você estiver se conectando ao SQL do Azure, as Identidades Gerenciadas para recursos do Azure serão o método de autenticação recomendado.
Autenticação do SQL Server com SqlClient
A Autenticação do Windows é preferencial para conexão com o SQL Server (local). No entanto, se a Autenticação do SQL Server for necessária, use a sintaxe a seguir para especificar um nome de usuário e uma senha. Neste exemplo, os asteriscos são usados para representar um nome de usuário e senha válidos.
"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"
Ao conectar-se ao Banco de Dados SQL do Azure ou ao SQL Data Warehouse do Azure e fornecer um logon no formato user@servername, verifique se o valor servername no logon corresponde ao valor fornecido para Server=.
Nota
A autenticação do Windows tem precedência sobre os logons do SQL Server. Se você especificar ambos Integrated Security=true , bem como um nome de usuário e senha, o nome de usuário e a senha serão ignorados e a autenticação do Windows será usada.
Importante
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. Se você estiver se conectando ao SQL do Azure, as Identidades Gerenciadas para recursos do Azure serão o método de autenticação recomendado.
Conectar-se a uma instância nomeada do SQL Server
Para ligar-se a uma instância nomeada do SQL Server, use a sintaxe nome do servidor\nome da instância.
"Data Source=<server>\\<instance>;Encrypt=true;"
Você também pode definir a propriedade do DataSource para o nome da instância ao criar uma cadeia de conexão SqlConnectionStringBuilder. A propriedade DataSource de um objeto SqlConnection é de leitura apenas.
Alterações de versão do sistema de tipos
A Type System Version palavra chave num SqlConnection.ConnectionString especifica a representação do lado do cliente dos tipos de SQL Server. Para mais informações sobre a Type System Version palavra-chave, veja SqlConnection.ConnectionString.
Conectar e anexar a instâncias de usuário do SQL Server Express
As instâncias de usuário são um recurso no SQL Server Express. Eles permitem que um usuário executado em uma conta local do Windows com privilégios mínimos anexe e execute um banco de dados do SQL Server sem exigir privilégios administrativos. Uma instância de usuário é executada com as credenciais do Windows do usuário, não como um serviço.
Para obter mais informações sobre como trabalhar com instâncias de usuário, consulte Instâncias de usuário do SQL Server Express.
Usar TrustServerCertificate
Com Encrypt=true, TrustServerCertificate=true encripta a ligação mas ignora a validação do certificado do servidor. Mantenha TrustServerCertificate=false para ligações de produção e configure um certificado de servidor verificável.
"TrustServerCertificate=true;"
Caution
Se contornar a validação do certificado, o cliente não pode verificar a identidade do servidor. Com Encrypt=Strict, Microsoft. Data.SqlClient valida sempre o certificado do servidor e ignora TrustServerCertificate.
Ativar encriptação
Microsoft.Data.SqlClient tem como predefinição Encrypt=Mandatory, equivalente a Encrypt=true e TrustServerCertificate=false. O cliente requer encriptação e valida o certificado do servidor. Se o certificado não for confiável ou não corresponder ao nome do servidor, a ligação falha.
Para ligações remotas, especifique Encrypt=true e configure um certificado de servidor em que o cliente confie. Se migrar a partir do System.Data.SqlClient, não assuma que as suas configurações de encriptação se aplicam ao Microsoft.Data.SqlClient. Para obter mais informações, consulte Criptografia e validação de certificado em Microsoft.Data.SqlClient.
Cadeias de conexão OleDb
A ConnectionString propriedade da OleDbConnection permite obter ou definir uma string de conexão para uma fonte de dados OLE DB, como Microsoft Access. Também podes criar uma OleDb cadeia de conexão em tempo de execução usando a classe OleDbConnectionStringBuilder.
Sintaxe da cadeia de conexão OleDb
Você deve especificar um nome de fornecedor para uma string de conexão OleDbConnection. A cadeia de conexão a seguir se conecta a um banco de dados do Microsoft Access usando o provedor Jet. Note que as palavras-chave User ID e Password são opcionais se o banco de dados não estiver seguro (o padrão).
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=;
Se o banco de dados Jet estiver protegido usando segurança em nível de usuário, você deverá fornecer o local do arquivo de informações do grupo de trabalho (.mdw). O arquivo de informações do grupo de trabalho é usado para validar as credenciais apresentadas na cadeia de conexão.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;
Importante
É possível fornecer informações de ligação para um OleDbConnection num ficheiro Universal Data Link (UDL); no entanto, convém evitá-lo. Os ficheiros UDL não são encriptados e expõem informações da cadeia de ligação em texto não codificado. Como um arquivo UDL é um recurso externo baseado em arquivo para seu aplicativo, ele não pode ser protegido usando o .NET Framework. Arquivos UDL não são suportados para SqlClient.
Importante
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. Se você estiver se conectando ao SQL do Azure, as Identidades Gerenciadas para recursos do Azure serão o método de autenticação recomendado.
Usar DataDirectory para se conectar ao Access/Jet
DataDirectory não é exclusivo da SqlClient. Ele também pode ser usado com os provedores de dados .NET System.Data.OleDb e System.Data.Odbc. A seqüência de caracteres de exemplo OleDbConnection a seguir demonstra a sintaxe necessária para se conectar ao Northwind.mdb localizado na pasta app_data do aplicativo. O banco de dados do sistema (System.mdw) também é armazenado nesse local.
"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"
Importante
Não é necessário especificar a localização da base de dados do sistema na cadeia de ligação se a base de dados Access/Jet não estiver protegida. A segurança está desativada por padrão, com todos os usuários se conectando como o usuário Admin interno com uma senha em branco. Mesmo quando a segurança ao nível do utilizador é corretamente implementada, uma base de dados Jet permanece vulnerável a ataques. Portanto, armazenar informações confidenciais em um banco de dados Access/Jet não é recomendado devido à fraqueza inerente de seu esquema de segurança baseado em arquivo.
Ligar ao Excel
O provedor Microsoft Jet é usado para se conectar a uma pasta de trabalho do Excel. Na cadeia de conexão a seguir, a Extended Properties palavra-chave define propriedades que são específicas do Excel. "HDR=Sim;" indica que a primeira linha contém nomes de colunas, não dados, e "IMEX=1;" instrui o driver a ler sempre colunas de dados "misturados" como texto.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""
Observe que o caractere de aspas duplas necessário para o Extended Properties também deve ser colocado entre aspas duplas.
Sintaxe da cadeia de conexão do provedor de Forma de Dados
Use as palavras-chave Provider e Data Provider ao usar o provedor Microsoft Data Shape. O exemplo a seguir usa o provedor Shape para se conectar a uma instância local do SQL Server.
"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;"
Importante
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. Se você estiver se conectando ao SQL do Azure, as Identidades Gerenciadas para recursos do Azure serão o método de autenticação recomendado.
Cadeias de conexão ODBC
A ConnectionString propriedade de a OdbcConnection permite obter ou definir uma cadeia de conexão para uma fonte de dados OLE DB. As cadeias de conexão Odbc também são suportadas pelo OdbcConnectionStringBuilder.
A seqüência de conexão a seguir usa o driver de texto da Microsoft.
Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin
Cadeias de conexão Oracle
A ConnectionString propriedade de a OracleConnection permite obter ou definir uma cadeia de conexão para uma fonte de dados OLE DB. As cadeias de conexão Oracle também são suportadas pelo OracleConnectionStringBuilder.
Data Source=Oracle9i;User ID=*****;Password=*****;
Para obter mais informações sobre a sintaxe da cadeia de conexão ODBC, consulte ConnectionString.
Importante
A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. Se você estiver se conectando ao SQL do Azure, as Identidades Gerenciadas para recursos do Azure serão o método de autenticação recomendado.