6

Ich verwende SQL Server 2008 R2 Express und den Modus "SQL Server und Windows-Authentifizierung" in meiner Datenbank. Ich kann die Datenbank mit Enterprise Manager öffnen, aber wenn ich meine aspx Anwendung ausführen, erhalte ich:Fehler SQL Server 2008 R2 Express: Die von der Anmeldung angeforderte Datenbank "PersonalityPro" kann nicht geöffnet werden. Die Anmeldung ist fehlgeschlagen

Cannot open database "PersonnelPro" requested by the login. The login failed.

Meine web.config Verbindungszeichenfolge ist:

<add name="dbString" 
    connectionString="Provider=sqloledb;Data Source=AREA51\SQLEXPRESS;Initial Catalog=PersonnelPro;User Id= ****;Password= ****" />` 

ich das Web durchsucht und SO, aber konnte keine Lösung finden. Irgendwelche Ideen, was dieses Problem verursachen würde?

Update:
Blick in SQL-Protokolldateien ("C: \ Programme \ Microsoft SQL Server \ MSSQL10_50.SQLEXPRESS \ MSSQL \ Log"), habe ich diese finden:

2012-12-21 05:58:00.97 Logon  Error: 18456, Severity: 14, State: 38. 
2012-12-21 05:58:00.97 Logon  Login failed for user 'PersonnelPro'. Reason: Failed to open the explicitly specified database. [CLIENT: <named pipe>] 

Diese Web Anwendung ist von einer Drittfirma. Also technisch muss ich nur meine web.config Datei konfigurieren und es sollte funktionieren.

+1

Die ersten Orte, an denen ich anfangen würde, wäre es, 'Provider = sqloledb;' zu entfernen und Ihren Benutzernamen und Ihr Passwort zu überprüfen. – Khan

+0

Provider = sqloledb wird vom Anwendungshersteller zur Verfügung gestellt (sie gingen aus dem Geschäft). Benutzername und Passwort wurden verifiziert (da ich die uid & pwd aus der Datei web.config kopiert, in den Enterprise Manager eingefügt habe und es funktioniert). – DotNetRookie

+0

@ JefferyKhan, wenn ich "Provider = sqloledb" entfernen Ich erhalte einen Fehler, der lautet: Ein OLE DB-Provider wurde nicht in der ConnectionString angegeben. Ein Beispiel wäre "Provider = SQLOLEDB;". – DotNetRookie

Antwort

2

Entfernen Sie das Leerzeichen nach dem Zeichen "=" für die Benutzer-ID und das Kennwort. Ich denke, es wird als Teil des Wertes interpretiert.

Update:

Die neue Fehlermeldung Sie auf dem Laufenden (konnte nicht explizit angegeben Datenbank öffnen.) Eines von zwei Dingen bedeuten:

  • Der DB mit diesem Namen existiert nicht oder ist falsch geschrieben.
  • Der Benutzer, mit dem Sie sich anmelden möchten, hat keinen Zugriff auf die Datenbank. Sie können dies überprüfen, indem Sie exec sp_helpuser 'username' in der DB ausführen.
+0

Ich entfernte den Raum, aber immer noch die gleiche Fehlermeldung. – DotNetRookie

+0

Der DB-Name war ein Tippfehler. – DotNetRookie

Verwandte Themen