繁体   English   中英

通过Windows身份验证连接到SQL时出错

[英]Error while connecting to sql through windows authentication

我正在使用以下代码连接到Windows身份验证的SQL。

string connctionstring = "connectionString={0};Database={1};Integrated Security=SSPI;";
string _connctionstring = string.Format(connctionstring, datasource, initialCatalogue);
SqlConnection _connection = new SqlConnection(_connctionstring);
_connection.Open();

但我收到以下错误。 请帮助。我能够通过sql server登录。

在此处输入图片说明

连接字符串格式不正确更改为:

string connctionstring = "Data Source={0};Database={1};Integrated Security=SSPI;";

要么

string connctionstring = "Server={0};Database={1};Integrated Security=SSPI;";

尽管Peyman的答案确实涵盖了基本问题( connectionString不是字符串的有效键),更好的解决方案是使用SqlConnectionStringBuilder ,如果字符串中包含奇数字符(例如,如果数据库中有字符),这也将帮助您进行正确的转义。名称中包含空格)

var scsb = new SqlConnectionStringBuilder();
scsb.DataSource = datasource;
scsb.InitialCatalog = initialCatalogue;
scsb.IntegratedSecurity = true;

//You also really should wrap your connections in using statements too.
using(SqlConnection connection = new SqlConnection(scsb.ConnectionString))
{
    connection.Open();
    //...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM