所以我試圖連接本地文件數據庫,當我調試程序或在我的開發機器上的任何地方使用它時,它工作得很好。每當我試圖把文件和在不同的機器上運行它,我得到C#本地數據庫錯誤50
錯誤50無法連接到的LocalDB:發生了本地數據庫運行時錯誤,指定的LocalDB實例不存在
現在我的問題是,我知道是什麼導致了這個問題,我只是不知道如何解決它。
我在我的測試機器上安裝了SQL Server Express 2016(它不工作),並且localDb從不初始化。
在我開發的機器,我可以轉到 「C:\ Program Files文件\ Microsoft SQL Server的\ 130 \的LocalDB」
但是我的測試機上我只有「C:\ Program Files文件\ Microsoft SQL Server的\ 130「沒有LocalDB。
我相信我的問題是,我從來沒有真正創建sql服務器實例,而只是調用該文件(請參閱下面的代碼),但我不知道如何初始化sql服務器的本地實例。我已經搜索並嘗試了不同的方法,但沒有爲我工作。
public SqlConnection connectionOpen()
{
string databaseDirectory = Convert.ToString(Directory.GetCurrentDirectory() + @"\gameDatabase.mdf");
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source =(LocalDB)\MSSQLLocalDB; AttachDbFilename ="+databaseDirectory +"; Integrated Security = True";
conn.Open();
return conn;
}
public void connectionClose()
{
string databaseDirectory = Convert.ToString(Directory.GetCurrentDirectory() + @"\gameDatabase.mdf");
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source =(LocalDB)\MSSQLLocalDB; AttachDbFilename ="+databaseDirectory + "; Integrated Security = True";
conn.Close();
}
如前所述這個完美的作品我的本地開發機器上,無論身在何處的exe和MDF文件(只要他們在同一個目錄中那如何找到IM在代碼中MDF文件)但只要我嘗試在不同的機器上運行它,就會出現連接錯誤。
任何幫助將非常感謝!我正在拉我的頭髮!
您可以創建,啓動,停止和通過[命令行]刪除實例(https://msdn.microsoft.com/en-gb/library/hh247716。 ASPX?F = 255&MSPPError = -2147217396)。但是,只有當localDB安裝在測試框上時,這纔會起作用。 –
對不起,我不是所有與SQL有關的,我試圖學習,我的數據庫被稱爲「gameDatabase.mdf」和表被稱爲「gameDb」是否有什麼關係,當我使用命令行創建時調用實例? – MagicalMidge
不需要道歉。實例名稱需要匹配您的連接字符串。在這種情況下,它是'(LocalDB)\ MSSQLLocalDB'。這是默認實例。它應該始終可用。這表明您需要[下載](https://msdn.microsoft.com/en-us/library/hh510202.aspx?f=255&MSPPError=-2147217396)並安裝LocalDB。 LocalDb提供引擎,.mdf具有結構和內容。 –