如何定义SQL Server 2008数据库的连接字符串?

时间:2010-07-01 15:08:56

标签: c# sql visual-studio-2010

我正在使用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()时,它告诉我登录失败。

5 个答案:

答案 0 :(得分:11)

查看connection strings网站,其中包含大量连接字符串示例。

基本上,你需要三件事:

  • 您要连接的服务器的名称(对本地计算机使用“.”或(local)localhost
  • 您要连接到的数据库的名称
  • 定义安全性的某种方式 - 集成Windows安全性或定义用户名/密码组合

例如,如果要使用集成安全性连接到本地计算机和AdventureWorks数据库,请使用:

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

或者如果您的计算机上有默认安装的SQL Server Express,并且您想要连接到AdventureWorksLT2008数据库,请使用:

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

答案 1 :(得分:3)

标准安全
Data Source = serverName \ instanceName; Initial Catalog = myDataBase; User Id = myUsername; Password = myPassword;

受信任的连接
Data Source = serverName \ instanceName; Initial Catalog = myDataBase; Integrated Security = SSPI;

以下是我保持方便的连接字符串的一个很好的参考:ConnectionStrings.com

答案 2 :(得分:0)

您需要指定如何使用数据库进行身份验证。如果要使用集成安全性(这意味着使用本地或域Windows帐户使用Windows身份验证),请将其添加到连接字符串:

Integrated Security = True;

如果要使用SQL Server身份验证(意味着您指定登录名和密码而不是使用Windows帐户),请添加以下内容:

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

答案 3 :(得分:0)

将以下内容复制/粘贴到您的代码中:

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

请注意,此解决方案使用您的Windows帐户登录。

正如John和Adam所说,这与您登录(或不登录)的方式有关。查看John提供的链接以获得更好的解释。

答案 4 :(得分:0)

我建议您不要直接在代码中编写代码,而是使用.config文件中的专用<connectionStrings>元素并从那里检索它。

还可以使用using语句,以便在使用后您的连接会自动关闭并处理掉。

查找连接字符串的绝佳参考:connectionstrings.com/sql-server-2008