SQL Server 2012的此连接字符串是否正确?

时间:2015-03-12 14:46:49

标签: sql-server connection-string

我有这个连接字符串,我不确定它是否正确:

<connectionStrings>
    <add name="SomeName" 
         providerName="System.Data.SqlClient" 
         connectionString="Data Source=MCA\SQLEXPRESS;Initial Catalog=SomeName; Integrated Security=true; ID=sa;Password=testtesttest;" />
</connectionStrings>

在此之前,我正在与Windows身份验证建立连接,这个连接字符串对我有用:

<connectionStrings>
    <add name="SomeName" 
         providerName="System.Data.SqlClient" 
         connectionString="Data Source=MCA\SQLEXPRESS;Initial Catalog=SomeName; Integrated Security=true" />
</connectionStrings>

我检查了https://www.connectionstrings.com/sql-server-2012/,但我认为我的连接字符串不正确:)

1 个答案:

答案 0 :(得分:4)

这是正确的 - 它可能不会做你认为它做的....

问题在于您指定 Integrated Security=true;(使用内置Windows身份验证)以及ID=sa;Password=testtesttest;(使用SQL Server用户帐户)同时。

在这种情况下,集成安全性获胜 - 您的SQL Server身份验证甚至没有被查看。

如果您想使用特定用户和密码,请从连接字符串中删除Integrated Security=true;(我认为必须是User ID - 而不仅仅是ID ...) :

<connectionStrings>
    <add name="SomeName" 
         providerName="System.Data.SqlClient" 
         connectionString="Data Source=MCA\SQLEXPRESS;Initial Catalog=SomeName; User ID=sa;Password=testtesttest;" />
</connectionStrings>