使用c#连接服务器上的SQL Server数据库

本文关键字:SQL Server 数据库 连接 服务器 使用 | 更新日期: 2023-09-27 17:50:46

我正试图用我的c#程序连接到服务器上的数据库,连接一直超时。我的连接字符串是:

string MyConnection = @"Data Source=YJN-DC-SQLEXPRESS;Initial Catalog=Test; Integrated Security = SSPI; User ID= username; Password=password;";
SQL Server不允许远程连接。我没有发布图片的信誉,所以这是它的链接http://imgur.com/0CDBg5q这是我得到的错误信息。我使用Visual Studio 2012

使用c#连接服务器上的SQL Server数据库

您需要确保您的连接字符串是正确的。对于初学者,正如dotnetom指出的那样,您需要使用集成安全(Windows身份验证)或用户ID和密码,而不是两者都使用。

这里有一些关于构建连接字符串的好信息,但是我只会给你一些你需要的基础知识。https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx

如果您想使用用户名和密码,那么您需要使用:

String MyConnection = @"Data Source=<ServerName>;InitialCatalog=<DatabaseName>;User ID=<UserName>;Password=<Password>;";

如果你想使用集成安全(Windows身份验证),那么你需要使用:

String MyConnection = @"Data Source=<ServerName>;InitialCatalog=<DatabaseName>;Integrated Security=True;";

用已有的信息替换<ServerName>和所有其他的。如果服务器有实例名,那么您将需要在<ServerName>中使用实例名。结果与ServerName'InstanceName相似。只要您使用windows身份验证进行身份验证,那么您应该能够使用Integrated Security=True并且没有问题。

如果您确实需要增加超时,您可以通过添加连接超时:Connection Timeout=30来实现。连接超时时间,单位为秒。

如果你有Microsoft SQL Server Management Studio,我强烈建议你确保你的凭据与有问题的服务器一起工作。尝试用户名/密码组合或集成安全。

编辑:要回答关于它是Password= Password还是Password=Password的问题,您应该使用第二个选项并删除中间的空格。我认为另一种方式应该仍然有效,它只是没有空格更简洁一些。

这里是另一个很棒的网站,有连接字符串示例: