我正在使用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()
时,它告诉我登录失败。
答案 0 :(得分:11)
查看connection strings网站,其中包含大量连接字符串示例。
基本上,你需要三件事:
.
”或(local)
或localhost
)例如,如果要使用集成安全性连接到本地计算机和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。