2010-06-15 115 views
0

我一直試圖從Juval Lowy的網站(IDesign的創始人編程WCF服務&的作者)編譯/運行一個示例WCF應用程序幾天。示例應用程序利用Juval的ServiceModelEx庫將錯誤/錯誤記錄到「WCFLogbook」SQL數據庫。不幸的是,當示例應用程序的故障,我得到以下錯誤:WCF錯誤日誌記錄和SQL異常4060錯誤

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

我證實,SQL WCFLogbook數據庫已經建立,並已授予的所有適當的權限爲我(比爾-PC \草案)訪問數據庫。另外端口8006和端口1433已經在防火牆中打開。已啓用TCP/IP並已選中「允許遠程連接到此服務器」。我使用下面的端點app.config文件中:

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

不幸的是SQL是一個「世界」,我沒有必要冒險進入之前,現在我跟我沒有取得成功非常沮喪。有沒有人有任何其他建議如何使這個工作?我錯過了什麼?

回答

1

Cannot open database "WCFLogbook" requested by the login

錯誤信息非常清楚。我理解你的沮喪,但我首先相信錯誤消息,然後再調查你的調查。該錯誤消息表示數據庫不存在,或者無法打開,或者用戶無權訪問它。

  • WCF服務連接到SQL Server實例您希望
  • 在該數據庫WCFLogbook在您連接到SQL Server實例存在:必須的步驟,驗證步驟。請注意,如果您安裝了區分大小寫的歸類實例,則名稱區分大小寫
  • 數據庫WCFLogbook處於聯機狀態
  • 允許登錄Bill-PC \ Bill連接到數據庫。
+0

Remus - 事實證明,在遍歷用於創建WCFLogbook數據庫的WCFLogbook.sql文件後,我意識到該文件試圖用一個不存在的路徑創建數據庫 - 即'C:\ Program Files \ Microsoft SQL Server \ MSSQL \ data \ WCFLogbook.mdf'。因此數據庫並沒有真正被創建。感謝您的幫助。法案 – Bill 2010-06-16 11:53:29

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模式。

+0

Spence - 謝謝你的幫助。正如你將在下面看到的,不幸的是,數據庫沒有像我想的那樣創建(路徑問題),並且在更正了sql文件中的路徑之後,該應用程序按照希望工作。再次感謝您的幫助。賬單 – Bill 2010-06-16 11:56:03