我的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="data source=\SQLEXPRESS;initial catalog=Dynamicweb-Verploegen-Test_new;user id='VERPLOEGEN\Niels';password='';multipleactiveresultsets=True;application name=EntityFramework"" 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()
如果我这样声明:
<add name="DataAccess_DynamicWebEntities" connectionString="Data Source=DESKTOP-UON3ACI\SQLEXPRESS;initial catalog=Dynamicweb-Verploegen-Test_new;Integrated Security=SSPI;multipleactiveresultsets=True;application name=EntityFramework"" 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)
正在做的伎俩:
答案 0 :(得分:1)
您确定自己的凭据是否正确?由于您的错误消息明确指出登录数据库失败:
用户'VERPLOEGEN \ Niels'
登录失败
重要的是要考虑这个登录信息实际上应该是登录到您的SQL Server实例的凭据(例如sa
将是其中一个的示例),可以创建类似如下所示:
否则,如果您想使用当前用户或域级用户,请尝试将以下内容添加到您的连接字符串中:
Integrated Security=SSPI;
或:
Integrated Security=true;
您可能希望尝试访问本地SQL实例并尝试使用您正在使用的凭据登录,以确保它们正确无误。
答案 1 :(得分:0)
看起来像是一个权限问题。用户'VERPLOEGEN \ Niels'无法访问数据库。
答案 2 :(得分:0)
第一个连接字符串使用SQL Server帐户登录,第二个连接字符串使用Windows帐户。即使用户名和密码相同,它们也是SQL Server的不同帐户,并且都需要获得权限。此外,要同时使用SQL Server帐户和Windows帐户,必须将SQL Server设置为使用混合身份验证模式。