2016-04-25 16 views
0

Ich habe zwei Connectionstrings in meinem Webconfig.Zwei Zeichenfolgen in Web.config

wie folgt aus:

<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> 

So die oben Connection funktioniert, aber die unter nicht funktioniert.

Und ja, der Name der Datenbank ist korrekt.

Danke

Dies ist der Fehler:

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() 

Ja, ich habe einen Login haben. siehe Bild enter image description here

Wenn ich es so erklären:

 <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) 

tat den Trick:

Antwort

1

Sind Sie sicher, dass Ihre Anmeldeinformationen korrekt sind? Wie Sie Ihre Fehlermeldung besagt ausdrücklich nicht nachgewiesen, dass in die Datenbank einloggen:

Login failed for user 'VERPLOEGEN\Niels'

Es ist wichtig zu beachten, dass diese Login-Daten tatsächlich Anmeldeinformationen sollten in der SQL Server-Instanz anmelden (zB sa wäre ein Beispiel für eine von ihnen sein), die unter ähnlichen erzeugt werden kann, wie gesehen:

enter image description here

Andernfalls, wenn Sie den aktuellen Benutzer oder einen Domain-Level Benutzer dann versuchen Sie, die folgende Verbindungszeichenfolge verwenden möchten:

Integrated Security=SSPI; 

oder:

Integrated Security=true; 

Sie können versuchen möchten Ihre lokale SQL-Instanz zugreifen und versuchen, innerhalb der Anmeldeinformationen melden Sie sich an, die Sie sicher, verwenden, um sie korrekt sind.

+0

Vielen Dank für Ihre Antwort. Ich bearbeite den Beitrag – InfinityGoesAround

+0

Also was kann es sonst noch sein? Danke – InfinityGoesAround

+0

Haben Sie versucht, die Benutzernamen/Passwort Anmeldeinformationen aus der Verbindungszeichenfolge explizit zu entfernen und nur 'Integrated Security = true' zu ​​verwenden? Sie können auch versuchen, einen anderen Benutzer zu verwenden oder nur den Domain-Abschnitt des Benutzernamens (d. H. "Niels" anstelle von "VERPLOEGEN \ Niels") zu entfernen, um zu sehen, ob Sie sich überhaupt authentifizieren können. –

0

Es sieht aus wie ein Berechtigungsproblem. Der Benutzer 'VERPLOEGEN \ Niels' kann nicht auf die Datenbank zugreifen.

+0

sollte es ein Kommentar sein –

+0

Ahh. Das tut mir leid. – mkerchenski

0

Die erste Verbindungszeichenfolge verwendet ein SQL Server-Konto zum Anmelden und die zweite Verbindungszeichenfolge ein Windows-Konto. Auch wenn die Benutzernamen und Kennwörter identisch sind, handelt es sich um unterschiedliche Konten für SQL Server, und beiden muss eine Berechtigung erteilt werden. Um sowohl SQL Server-Konten als auch Windows-Konten verwenden zu können, muss SQL Server für die Verwendung des gemischten Authentifizierungsmodus eingerichtet sein.

+1

Vielen Dank für Ihren Kommentar. Ja, ich habe den Datenbanken beide Berechtigungen gegeben. Und ja, ich habe eine gemischte Umgebung. Siehe meinen aktualisierten Beitrag – InfinityGoesAround

Verwandte Themen