2010-03-07 61 views
0

sql異常我正在使用Visual Studio 2008的C#windows程序。通常,我在學校工作,直接在我的USB驅動器上工作。但是,當我在家裏的硬盤上覆制文件夾時,每當我嘗試寫入數據庫時​​,sql異常都是未處理的。它在conn.Open()上是未處理的;線。這裏是未處理的異常當從usb傳輸項目到c:

數據庫'L:\ system \ project \ the_project \ the_project \ bin \ Debug \ PatientMonitoringDatabase.mdf'已經存在。選擇不同的數據庫名稱。無法將文件'C:\ Documents and Settings \ Administrator \ My Documents \ system \ project \ the_project \ the_project \ bin \ Debug \ PatientMonitoringDatabase.mdf'附加爲數據庫'PatientMonitoringDatabase'。

它的怪異,因爲我的連接字符串說| DataDirectory目錄|,所以應該在任何驅動器上的工作...這裏是我的連接字符串:

string connStr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\PatientMonitoringDatabase.mdf; " + 
       "Initial Catalog=PatientMonitoringDatabase; " + 
       "Integrated Security=True"; 
+2

請不要發佈重複的問題! – 2010-03-12 02:02:54

回答

1

我覺得這裏的抱怨是,你的本地SQL Server Express安裝已連接並運行一個 PatientMonitoringDatabase。

連接到localhost與SQL Server Management Studio中快車(if not installed, download here)和刪除/拆卸現有PatientMonitoringDatabase數據庫。無論是持久數據庫還是僅在正在運行的應用程序中處於活動狀態,您都不能將同時連接到SQL Server實例的兩個數據庫同名。

+0

你如何連接到本地主機?我連接了servername:「JELLO/SQLEXPRESS」。 aunthentication:Windows身份驗證。然後我分離了PatientMonitoringDatabase,現在,當我嘗試寫入數據庫時​​,它給了我另一個例外。我引用我的下一個評論中的例外 – jello 2010-03-07 19:30:55

+0

文件「C:\ Documents and Settings \ Administrator \ My Documents \ system \ project \ the_project \ the_project \ bin \ Debug \ PatientMonitoringDatabase.mdf」的目錄查找失敗,操作系統錯誤5 (訪問被拒絕。)。 不能作爲數據庫'PatientMonitoringDatabase'附加文件'C:\ Documents and Settings \ Administrator \ My Documents \ system \ project \ the_project \ the_project \ bin \ Debug \ PatientMonitoringDatabase.mdf'。 – jello 2010-03-07 19:31:25

+0

或者它可能與我運行SQL管理工作室快速時出現錯誤的事實有關? 「應用程序中的某個組件發生了未處理的異常,如果單擊繼續,應用程序將忽略此錯誤並嘗試繼續。 無法在易失性父鍵下創建穩定的子項。 – jello 2010-03-07 19:39:32

0

由於SQL Server Express實例沒有打開數據庫文件的權限,因此獲得第二個異常。該文件的權限是什麼,運行SQL Server的是什麼?

+0

SQL server在什麼意思下運行?喜歡,我如何找到這些信息? – jello 2010-03-09 04:08:05

+0

它很有趣,導致一切工作正常,當我從我的USB運行它 – jello 2010-03-09 04:13:39

+0

檢查.mdf文件的權限(即,右鍵單擊,選擇屬性,然後選擇安全選項卡)。最簡單的解決方案可能是選擇「用戶」,然後確保選中「修改」條目。 – 2010-03-09 05:52:11

0

問題解決了。在那個上得到幸運。我通過瀏覽微軟論壇得到了一個提示。這個提示讓我打開了我的「SQL Server配置管理器」,而且我必須用「SQL Server(SQLEXPRESS)」來做些什麼。所以我雙擊它,並將「內置帳戶」從「網絡服務」更改爲「本地系統」。現在它的作品....我很幸運,我猜...

但是,你必須分離數據庫。因此,thx尼克Craver