2016-06-06 69 views
0

下面是我爲asp.net項目建立的Visual Studio中的連接字符串。但是一旦包含prokject的文件夾試圖在另一臺計算機上打開,我會遇到數據庫連接錯誤,是否有辦法讓這些連接字符串可移植,這樣該項目就不會只在我的電腦上運行?c#可移植的數據庫連接字符串

<connectionStrings> 
    <add name="nas_connect" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|app_code\nas.mdf;Integrated Security=True" 
     providerName="System.Data.SqlClient" /> 
    <add name="nasConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=&quot;app~_code\nas.mdf&quot;;Integrated Security=True;Connect Timeout=30" 
     providerName="System.Data.SqlClient" /> 
    <add name="nasConnectionString2" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=&quot;App_code\nas.mdf&quot;;Integrated Security=True;Connect Timeout=30" 
     providerName="System.Data.SqlClient" /> 
    <add name="nasConnectionString3" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=&quot;\App_code\nas.mdf&quot;;Integrated Security=True;Connect Timeout=30" 
     providerName="System.Data.SqlClient" /> 
    <add name="nasConnectionString4" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=&quot;\App_code\nas.mdf&quot;;Integrated Security=True;Connect Timeout=30" 
     providerName="System.Data.SqlClient" /> 
    <add name="insert into" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=&quot;\App_code\nas.mdf&quot;;Integrated Security=True;Connect Timeout=30" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

任何幫助,將不勝感激

謝謝。

+0

您的連接字符串指向您的本地數據庫,這就是爲什麼您無法從其他PC連接到它們的原因。 –

+0

@ User555那麼它應該指向什麼呢? .mdf文件位於項目的app_data文件夾中。 –

+0

機器的IP地址,例如Data Source = 192.168.2.122; –

回答

0

首先確保您將數據庫文件複製到另一臺計算機。我的意思是mdf和ldf文件(這些文件應該在這裏WebRoot/App_code/。)並且還要確保將SqlLocalDB.msi安裝到另一臺計算機。 另外,如果你想在不同的環境下有不同的配置,我建議你使用配置文件轉換。您可以使用例如SlowCheetah這樣做,您可以使用VS工具和擴展下載哪一個。

參考文獻:

1) https://msdn.microsoft.com/en-us/library/hh510202.aspx

2)SlowCheetah

0

嘗試爲您的連接字符串(S),這樣你可以從任何地方訪問連接字符串中的應用程序創建一個類。確保數據庫文件的.mdf和.ldf文件位於應用程序的bin/Debug文件夾中。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data.SqlClient; 

namespace Loacal_DataBase 
{ 
class Connection 
{ 
    static string startupPath = System.IO.Directory.GetCurrentDirectory();  
    static readonly string connectString = @"Data Source=(LocalDB)\v11.0;Integrated Security=True;AttachDbFilename=" + startupPath + "\\Local_DB.mdf"; 
    public SqlConnection connection = new SqlConnection(connectString); 

} 
}