2012-03-01 59 views
10

「試圖爲文件C:\ Users \ John \ documents \ visual studio 2010 \ Projects \ PAS \ PAS \ bin \ Debug附加一個自動命名的數據庫// PatAddSys .mdf失敗。存在相同名稱的數據庫,或指定的文件無法打開,或位於UNC共享上。「嘗試附加自動命名的數據庫錯誤

這裏有什麼問題?我有正確的代碼爲我的路徑(我認爲),但仍然在這裏出現這個錯誤是我的數據庫路徑

private string dbPath = Application.StartupPath + "//PatAddSys.mdf"; 

這裏是我的數據庫的位置

enter image description here

回答

12

嘗試將用戶實例屬性在你的連接字符串中爲true。您需要添加到您的連接字符串:

User Instance=True 

也只是再次肯定檢查您的數據庫服務器,因爲它可能已經包含具有相同名稱的數據庫。

希望有所幫助。

-3

使用此:

Path.GetFullPath(yourpath_string) 

,將工作

+0

我不知道該回答問題.... – 2015-09-06 00:15:37

+0

對我來說,這是毫無意義的類似的答案 – Luf 2015-09-06 15:31:19

1

我想這可能是非常非常晚,但

此字符串給我上面的錯誤

<add name="MAB_ERP_2_0.Properties.Settings.MyConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=Database\MabErp2.mdf;Integrated Security=true;" 
     providerName="System.Data.SqlClient" /> 

但如果添加|數據目錄|數據庫名稱之前,那麼它工作正常

<add name="MAB_ERP_2_0.Properties.Settings.MyConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database\MabErp2.mdf;Integrated Security=true;" 
     providerName="System.Data.SqlClient" /> 
0

未來的幫助!

你們已經糾正了它:

private string dbPath = Application.StartupPath + "//PatAddSys.mdf"; 

只是要做一個步驟就是用反斜槓「\」,而不是斜槓「/」 所以應該是這樣的:

private string dbPath = Application.StartupPath + "\\PatAddSys.mdf"; 

&感謝此行救了我很多工作:)

2

同時改變當前worki的ng目錄和連接字符串解決它。

選擇位於「服務器資源管理器」 中的數據庫,然後複製連接字符串,正好在其屬性中查看,然後在代碼中使用它。

enter image description here

那麼對於當前工作目錄使用相同的路徑沒有數據庫的名稱。解決方案 - > properties - > debug是當前工作目錄路徑所在的位置。這適用於visual studio 2015。

我用我的連接字符串,因爲這

Private constr As String = "Data Source = (LocalDB)\MSSQLLocalDB;AttachDbFilename=" + 
     Directory.GetCurrentDirectory() + "\DBNAME.mdf;" + 
     "Integrated Security=True;Connect Timeout=30;User Instance=False" 
0

其實我已經墜落到這個問題,但我很容易處理它。 如果你的連接字符串

connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;" 

你需要使自己的LocalDB。 先去命令提示符,比寫

sqllocaldb create MyDatabase 

不是啓動數據庫

sqllocaldb start MyDatabase 

不是返回VS,改變你的連接字符串

connectionString="Data Source=(LocalDB)\MyDatabase;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;" 
相關問題