Web.config中有两个字符串

时间:2016-04-25 13:23:57

标签: asp.net web-config

我的webconfig中有两个连接字符串。

像这样:

<connectionStrings>
    <add name="DataAccess_DynamicWebEntities" connectionString="metadata=res://*/DataAccess_DynamicWeb.csdl|res://*/DataAccess_DynamicWeb.ssdl|res://*/DataAccess_DynamicWeb.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=\SQLEXPRESS;initial catalog=Dynamicweb-Verploegen-Test_new;user id='VERPLOEGEN\Niels';password='';multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="NAV2DWservice.Properties.Settings.NAVconnectionString" connectionString="Data Source=\SQLEXPRESS;Integrated Security=SSPI;Initial catalog=Verploegen-Test;"/>
 </connectionStrings>

所以上面的连接字符串有效,但下面的连接字符串不起作用。

是的,数据库名称是正确的。

谢谢

这是错误:

System.Data.EntityException: De onderliggende provider is mislukt op Open. ---> System.Data.SqlClient.SqlException: Login failed for user 'VERPLOEGEN\Niels'.
   bij System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   bij System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   bij System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   bij System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   bij System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   bij System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   bij System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   bij System.Data.SqlClient.SqlConnection.Open()

是的,我有登录信息。见图像enter image description here

如果我这样声明:

     <add name="DataAccess_DynamicWebEntities" connectionString="Data Source=DESKTOP-UON3ACI\SQLEXPRESS;initial catalog=Dynamicweb-Verploegen-Test_new;Integrated Security=SSPI;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
        <add name="NAV2DWservice.Properties.Settings.NAVconnectionString" connectionString="Data Source=DESKTOP-UON3ACI\SQLEXPRESS;Integrated Security=SSPI;Initial catalog=Verploegen-Test;" />

I get this error:

System.ArgumentException: Het sleutelwoord wordt niet ondersteund: data source.
   bij System.Data.EntityClient.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Hashtable synonyms)
   bij System.Data.EntityClient.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms)
   bij System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
   bij System.Data.EntityClient.EntityConnection..ctor(String connectionString)
   bij System.Data.Entity.Internal.LazyInternalConnection.InitializeFromConnectionStringSetting(ConnectionStringSettings appConfigConnection)

正在做的伎俩:

3 个答案:

答案 0 :(得分:1)

您确定自己的凭据是否正确?由于您的错误消息明确指出登录数据库失败:

  

用户'VERPLOEGEN \ Niels'

登录失败

重要的是要考虑这个登录信息实际上应该是登录到您的SQL Server实例的凭据(例如sa将是其中一个的示例),可以创建类似如下所示:

enter image description here

否则,如果您想使用当前用户或域级用户,请尝试将以下内容添加到您的连接字符串中:

Integrated Security=SSPI;

或:

Integrated Security=true;

您可能希望尝试访问本地SQL实例并尝试使用您正在使用的凭据登录,以确保它们正确无误。

答案 1 :(得分:0)

看起来像是一个权限问题。用户'VERPLOEGEN \ Niels'无法访问数据库。

答案 2 :(得分:0)

第一个连接字符串使用SQL Server帐户登录,第二个连接字符串使用Windows帐户。即使用户名和密码相同,它们也是SQL Server的不同帐户,并且都需要获得权限。此外,要同时使用SQL Server帐户和Windows帐户,必须将SQL Server设置为使用混合身份验证模式。