簡體   English   中英

如何定義SQL Server 2008數據庫的連接字符串?

[英]How to define a connection string to a SQL Server 2008 database?

我正在使用MS Visual Studio 2010創建一個具有SQL Server 2008數據庫訪問權限的應用程序,但是我創建數據庫所做的是添加一個新的“SQL Server 2008數據庫項目”,它添加了它,並向我展示了我的解決方案中的所有內容資源管理器,但是如何編寫連接字符串以連接到它,因為我寫了這個,但它不起作用。

SqlConnection cnTrupp = new SqlConnection("Initial Catalog = Database;Data Source = localhost;Persist Security Info=True;");

更新:

我用過這個:

cnTrupp = new SqlConnection("database=DB_Trupp;server=.\\SQLExpress;Persist Security Info=True;integrated security=SSPI");

但是,當我使用cnTrupp.Open()它告訴我登錄失敗。

查看連接字符串網站,其中包含大量連接字符串示例。

基本上,你需要三件事:

  • 要連接的服務器的名稱(local)對本地計算機使用“ . ”或(local)localhost
  • 要連接的數據庫的名稱
  • 某種定義安全性的方法 - 集成Windows安全性,或定義用戶名/密碼組合

例如,如果要使用集成安全性連接到本地計算機和AdventureWorks數據庫,請使用:

server=(local);database=AdventureWorks;integrated security=SSPI;

或者,如果您的計算機上有默認安裝的SQL Server Express,並且您想連接到AdventureWorksLT2008數據庫,請使用以下命令:

server=.\SQLExpress;database=AdventureWorksLT2008;integrated Security=SSPI;

標准安全
數據源= serverName \\ instanceName;初始目錄= myDataBase;用戶ID = myUsername;密碼= myPassword;

可信連接
數據源= serverName \\ instanceName;初始目錄= myDataBase;集成安全性= SSPI;

以下是我保持方便的連接字符串的一個很好的參考: ConnectionStrings.com

您需要指定如何使用數據庫進行身份驗證。 如果要使用集成安全性(這意味着使用本地或域Windows帳戶使用Windows身份驗證),請將其添加到連接字符串:

Integrated Security = True;

如果要使用SQL Server身份驗證(意味着您指定登錄名和密碼而不是使用Windows帳戶),請添加以下內容:

User ID = "username"; Password = "password";

將以下內容復制/粘貼到您的代碼中:

SqlConnection cnTrupp = new SqlConnection("Initial Catalog = Database;Data Source = localhost;Persist Security Info=True;Integrated Security = True;");

請記住,此解決方案使用您的Windows帳戶登錄。

正如John和Adam所說,這與您登錄(或不登錄)的方式有關。 查看John提供的鏈接以獲得更好的解釋。

我建議您不要直接在代碼中編寫代碼,而是使用.config文件中的專用<connectionStrings>元素並從那里檢索它。

還可以使用using語句,以便在使用后您的連接自動關閉並處理掉。

查找連接字符串的絕佳參考: connectionstrings.com/sql-server-2008

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM