2012-05-07 141 views
115

我已經使用SQL Server Management Studio創建了一個數據庫,現在我想在我的C#應用​​程序中使用它。我需要連接字符串?如何從數據庫中獲取連接字符串

我在哪裏可以找到連接字符串,並將其存儲我的數據庫在哪裏?

我必須發佈或類似的東西,或者是在我的文檔的地方?

using (var conn = new SqlConnection("your connection string to the database")) 

如何獲得連接字符串?我在哪裏可以找到連接字符串將粘貼複製到上面的部分?

如何發佈我的數據庫,以便Visual Studio可以檢索它?那麼我可以只是拉那裏的連接字符串?

回答

129

獲取連接字符串的最簡單的方法是使用Visual Studio中的「服務器資源管理器」窗口(菜單查看服務器資源管理器),並連接到從該窗口中的服務器。

然後,你可以看到連接的服務器屬性中的連接字符串(選擇連接,然後按F4或Alt + Enter鍵或右鍵菜單中選擇屬性)。

高級連接字符串設置:創建連接時,您可以通過點擊「高級」按鈕修改任何先進的連接字符串的選項,如火星,彈性,timeot,彙集配置等。在「添加連接」對話框的底部。稍後可以通過右鍵單擊數據連接並選擇「修改連接...」來訪問此對話框。可用的高級選項因服務器類型而異。

如果使用SQL Server Management Studio創建數據庫,則會在服務器實例中創建數據庫,因此,要部署應用程序,您必須對數據庫進行備份並將其部署到部署SQL中服務器。或者,您可以使用SQL Server Express(SQL Server 2012中的localDB)使用數據文件,這將很容易與您的應用程序一起分發。

I.e.如果它是一個ASP.NET應用程序,則有一個App_Datafolder。如果你右鍵點擊它,你可以添加一個新的元素,它可以是一個SQL Server數據庫。該文件將位於該文件夾中,將與SQL Express協同工作,並且易於部署。你需要在你的機器上安裝SQL Express/localDB才能工作。

+2

我明白這一點,並且喜歡它:D,但是你能否更詳細地解釋如何進行備份和部署?我對MS SQL Server的瞭解很差,我在一個小時前開始使用它:\ – Pomster

+1

其窗口服務 – Pomster

+0

是否有realsql服務器?你會使用sql server express嗎? SQL Server Compact Edition足夠了嗎?如果您不提供額外信息,我們將無法獲得您可以使用的內容 – JotaBe

1

在以下路徑

<drive>:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\Data\ 

,其中<drive>是安裝驅動器和X是實例編號(MSSQL.1數據庫引擎的第一個實例)的sql server database will be stored默認。爲了提供連接字符串,您應該知道什麼是SQL Server數據庫的服務器名稱,您已經存儲了哪些數據庫,然後是數據庫服務器的實例。

一般的服務器名稱將是等,其中連接數據庫的機器和默認實例的IP地址將被SQLEXPRESS

一個connection string包含數據源名稱即服務器名稱,初始目錄即數據庫名稱,用戶ID即數據庫的登錄用戶ID,密碼,數據庫的登錄密碼。

+1

如何獲得連接字符串? – Pomster

+1

我看了一下Program files \ Microsoft SQl Server,我不知道我在找什麼? – Pomster

+0

您不需要查找數據庫存儲文件夾,請參閱我爲連接字符串提供的鏈接並編寫連接字符串。 –

13

connectionstrings.com你可以找到每一個DB提供程序的連接字符串。連接字符串由特定屬性/屬性及其值組成。對於SQL Server 2008,它看起來像這樣(標準,這是你需要在這裏什麼):

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 

myServerAddress,寫你的安裝實例的名稱(默認情況下它是.\SQLEXPRESS初始目錄=數據庫名字,你會連接後,看到它在SSMS左側,其餘是不言而喻的。

編輯

您需要將省略對於Windows身份驗證的用戶名和密碼。

76

一個非常簡單的方法來檢索連接字符串,是創建一個文本文件,從擴展名爲.txt更改爲.UDL

雙擊.udl文件將打開數據鏈接屬性嚮導。

配置並測試與數據庫服務器的連接。

關閉嚮導並使用您選擇的文本編輯器打開.udl文件,並簡單地複製連接字符串(不包含Provider=<driver>部分)以在您的C#應用​​程序中使用它。

樣本UDL文件內容

[oledb] 
; Everything after this line is an OLE DB initstring 
Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME;Initial File Name="";Server SPN="" 

你需要複製的內容從它

Integrated Security=SSPI;Initial Catalog=YOURDATABASENAME;Data Source=YOURSERVERNAME; 

如果要指定用戶名和密碼,您可以從其他的答案採納。

教程:https://teusje.wordpress.com/2012/02/21/how-to-test-an-sql-server-connection/

+3

令人敬畏的方法! – xacinay

+0

如果這不起作用,有一些reg文件會對註冊表進行更改以啓用/禁用UDL擴展。我通常在Windows文件夾中搜索* .reg。 – AMissico

3

下面放標記在web.config文件中配置節點

<connectionStrings> 
<add name="NameOFConnectionString" connectionString="Data Source=Server;Initial Catalog=DatabaseName;User ID=User;Password=Pwd" 
    providerName="System.Data.SqlClient" /> 

,那麼你可以使用上面的ConnectionString,例如

SqlConnection con = new SqlConnection(); 
      con.ConnectionString = ConfigurationManager.ConnectionStrings["NameOFConnectionString"].ToString(); 
0

如果您在項目中創建了連接管理器,那麼您可以簡單地從那裏拉出連接字符串。

String connection = this.dts.connections["<connection_manager_name>"]; 

而且使用在這方面:

using (var conn = new SqlConnection(connection)) 

請糾正我,如果我錯了。

-2
SqlConnection con = new SqlConnection(); 
con.ConnectionString="Data Source=DOTNET-PC\\SQLEXPRESS;Initial Catalog=apptivator;Integrated Security=True"; 
+0

這是如何回答OP的問題? – Filburt

7

我的解決方案是使用(2010)。

在新工作表,選擇一個單元格,然後:

Data -> From Other Sources -> From SQL Server 

放在服務器名稱選擇表等,

當你到「導入數據「對話框,
點擊屬性在」連接屬性「對話框中,
選擇「定義」選項卡。

而且有很好的Excel顯示拷貝
連接字符串(甚至導出連接文件...

+0

這工作完美,並不需要連接在VS中設置。 – Robino