2009-06-11 70 views
0

我有一個通過ADO.NET使用SQL Server Express數據庫的單用戶Win Forms應用程序。我想添加更多到我的應用程序,但通過使用Linq到Sql(當我學習Linq到Sql)。我無法同時在兩個地方看到數據庫。我可以在使用ADO的原始代碼中看到它,也可以使用Linq to SQL的新代碼查看它。用一種方法使用數據會使其他人拒絕看到它。以前,我通過將數據庫的包含目錄以及數據庫複製到另一個目錄名,並在使用ADO獲取它之前通過L2S獲取它來啓用新的Linq to SQL代碼來查看它。這讓我看到了我的Linq to SQL代碼工作(hooray!)。但是,現在我無法將原始代碼與ADO一起使用該新數據庫,因爲「訪問被拒絕(5)」。我究竟做錯了什麼?我如何讓它分享?Linq to SQL可以與SQL Server Express中的ADO共存嗎?

編輯:刪除問題的一部分詢問有關在SQL Server中附加;問題的一部分是我需要運行SQL Server 作爲管理員(Vista),現在它已連接。/EDIT

現在我正在使用L2S,當我嘗試打開ADO.NET中的連接時,出現「無法打開物理文件」C:\ PRICINGtests \ PRICING.MDF「。操作系統錯誤5: 「5(Access is denied。)」。嘗試爲文件C:\ PRICINGtests \ PRICING.MDF附加一個自動命名的數據庫失敗。存在一個具有相同名稱的數據庫,或者指定的文件無法打開,或者它位於關於UNC份額「。

回答

0

你有兩個單獨的連接字符串嗎?我認爲你有,他們都試圖將數據庫相同的數據庫名稱附加到您的SQL服務器,這是不允許的。

你有ADO & Linq代碼使用相同的單個連接字符串,他們都會使用相同的數據庫。

+0

謝謝,克里斯。我不知道如何使用Linq獲取完整的連接字符串,只需使用「DataContext db = new DataContext(@」C:\ PRICINGtests \ PRICING.MDF「);」,並且我直接從字符串中提取該字符串應用程序配置文件,以確保沒有錯別字。無論如何,這是一個小程序,我一次關閉它的整個部分;在單次執行期間,我只嘗試使用一種數據連接方法運行。第一次使用Linq運行數據庫只是讓我以後只能使用ADO運行它。 – CindyH 2009-06-12 14:29:06

相關問題