2011-03-20 104 views
1

我在服務器計算機上設置了我的WCF服務。無法訪問服務器計算機中的SQL Server文件

服務器操作系統是帶有SQL Server 2008 Express的Windows 2008。

我想訪問我的SQL Server(mdf)文件來使用LINQ to SQL讀取數據。

我看到DataContext的是OK - 但是當我試圖讓信息在表格中的一個我得到一個異常

無法生成 SQL Server的用戶實例由於 失敗檢索用戶的本地應用程序數據路徑 。請確保用戶在計算機上擁有本地用戶配置文件 。連接將關閉 。

我不知道我需要在服務器端使用的IIS 7.5中定義或更改。

感謝您的任何幫助。

更新:到數據庫文件的連接是好的 - 但是從表中獲取的信息是直通例外。連接字符串是:

Data Source=.;AttachDbFilename=|DataDirectory|\ServiceData.mdf; 
    Integrated Security=SSPI;User Instance=True 
+0

你可以包含連接字符串嗎? – eugeneK 2011-03-20 12:05:39

+0

與數據庫文件的連接很好 - 但從表中獲取信息是通過一個例外。連接字符串:Data Source = .; AttachDbFilename = | DataDirectory | \ ServiceData.mdf;集成安全性= SSPI;用戶實例= True – Yanshof 2011-03-20 12:09:28

+1

請不要在評論中放入這樣的東西!真的很難閱讀。相反:**更新**您的原始帖子**編輯**它提供額外的信息! – 2011-03-20 12:22:21

回答

2

如果你已經有一臺服務器,你爲什麼不只是附加的MDF到SQL Server(快遞)上運行,然後使用它像您的服務器上正常的數據庫?

執行此操作後,使用連接字符串,如:

server=Server\SQLExpress;Database=YourDatabaseName;Integrated Security=SSPI 

我遇不到喜歡AttachDbFileName=User Instance方法 - 似乎是一個(不可靠的)黑客對我來說,這真的沒有意義,如果你正在服務器機器上運行。

1

您收到此錯誤消息的原因是因爲您的代碼位於從未登錄到服務器的用戶的安全上下文中。因此,用戶沒有配置文件,因此在代碼嘗試寫入不存在的配置文件時出現錯誤。

您可以使用marc_s的方法,或者您可以作爲具有配置文件的用戶運行。

+0

服務器贏得2008年 - 什麼是marc_s的方法?如果嘗試獲取信息的用戶使用WCF Web服務獲取信息 - 他如何登錄系統? – Yanshof 2011-03-20 14:05:49