0

私は、Juval LowyのWebサイト(Programming WCF Servicesの作成者およびIDesignの創設者)からサンプルWCF​​アプリケーションをコンパイル/実行しようと数日間試みてきました。サンプルアプリは、障害/エラーを「WCFLogbook」SQLデータベースに記録するJuvalのServiceModelExライブラリを利用しています。残念ながら、サンプルアプリに障害が発生すると、次のエラーが発生します。

SQL例外4060:「ログインによって要求されたデータベース\"WCFLogbook\"を開くことができません。ログインに失敗しました。\r\nユーザー'Bill-PC\Bill'のログインに失敗しました。」

SQL WCFLogbookデータベースが作成され、データベースへの(Bill-PC \ Bill)アクセスに適切なすべてのアクセス許可が付与されていることを確認しました。さらに、ポート8006とポート1433がファイアウォールで開かれています。TCP / IPが有効になっていて、「このサーバーへのリモート接続を許可する」がチェックされています。App.Configファイル内で次のエンドポイントを使用しています。

<client>
     <endpoint name="LogbookTCP"
        address="net.tcp://Bill-PC:8006/LogbookManager"
        binding="netTcpBinding"
        contract="ILogbookManager"
     />
</client>

残念ながら、SQLは私が今まで冒険する必要がなかった「世界」であり、成功しなかったことにひどく不満を感じています。これを機能させる方法について他に何か提案はありますか?私は何かを逃したことがありますか?

4

2 に答える 2

1

ログインで要求されたデータベース「WCFLogbook」を開くことができません

エラーメッセージはかなり明確です。私はあなたの不満を理解していますが、最初にエラーメッセージを信頼し、次にあなたの調査を信頼します。エラーメッセージは、データベースが存在しないか、データベースを開くことができないか、ユーザーがデータベースにアクセスできないことを示しています。次のことを段階的に検証する必要があります。

  • WCFサービスは、期待するSQLServerインスタンスに接続します
  • そのデータベースWCFLogbookは、接続しているSQLServerインスタンスに存在します。大文字と小文字を区別する照合インスタンスをインストールした場合、名前は大文字と小文字を区別することに注意してください
  • データベースWCFLogbookはオンラインです
  • ログインBill-PC\Billはデータベースへの接続を許可されています。
于 2010-06-15T22:08:29.417 に答える
0

SQL Exception 4060: "Cannot open database \"WCFLogbook\" requested by the login. The login failed.\r\nLogin failed for user 'Bill-PC\Bill'."

データベースへのログインエラーがあることはかなり明らかです。例外はどこにスローされますか?クライアントアプリまたはWCFサービス呼び出しで?

私が尋ねる理由は、デバッグする場所を示すためです。例外がWCF呼び出しの障害コントラクトから発生している場合は、サービス自体で発生している可能性があります。クライアントアプリにある場合は、明らかにこれが問題の原因です。

どのバージョンのSQLを使用していますか?SQL Expressを使用している場合、デフォルトでは、アプリを実行するための十分な権限が必要です。あなたのユーザーは管理者ですか?管理者としてデータベースを開き、Bill-PC \ Billにログインがあり、WCFLogbookデータベースのdboスキーマにマップされていることを確認する必要がある場合があります。

于 2010-06-15T22:01:58.433 に答える