6

私のデータベースでSQL Server 2008 R2 Expressと "SQL Server and Windows Authentication"モードを使用しています。私は、Enterprise Managerを使用してデータベースを開くことができますが、私は私のaspxアプリケーションを実行すると、私が手:SQL Server 2008 R2 Expressエラー:ログインによって要求されたデータベース "PersonnelPro"を開くことができません。ログインに失敗しました

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

私のweb.configの接続文字列は次のとおりです。

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

私はウェブを検索し、SOが、解決策を見つけることができませんでした。何がこの問題の原因になるでしょうか?

更新:
( "C:\ Program Files \ MicrosoftのSQLサーバ\ MSSQL10_50.SQLEXPRESS \ MSSQL \ログ")SQLのログファイルを見ると:

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

このウェブ、私はこれを見つけますアプリケーションはサードパーティの企業によって行われます。技術的には、web.configファイルを設定するだけで済みます。うまくいくはずです。

+1

私が最初に始めるのは、 'Provider = sqloledb;'を削除してユーザ名とパスワードをチェックすることです。 – Khan

+0

プロバイダ= sqloledbは、アプリケーションベンダによって提供されます(業務が終了しました)。ユーザー名とパスワードは検証済みです(uidとpwdをweb.configファイルからコピーし、Enterprise Managerに貼り付けて動作させているため)。 – DotNetRookie

+0

@ JefferyKhan "Provider = sqloledb"を削除するとエラーが表示されます。OLE DBプロバイダがConnectionStringで指定されていません。たとえば、 'Provider = SQLOLEDB;'となります。 – DotNetRookie

答えて

2

ユーザーIDとパスワードの '='記号の後のスペースを削除します。私はそれが価値の一部として解釈されていると思います。

更新:

あなたが(明示的に指定されたデータベースを開けませんでした。)の2つのいずれかを意味することができます投稿新しいエラーメッセージ:その名が存在しないと

  • DBをまたはスペルが間違っています。
  • ログインしようとしているユーザーは、DBにアクセスできません。これはDB内でexec sp_helpuser 'username'を実行することで確認できます。
+0

私はスペースを削除しましたが、同じエラーメッセージ。 – DotNetRookie

+0

DB名が誤字です。 – DotNetRookie

関連する問題

 関連する問題