【问题标题】:Unable to connect to sql server 2008 with c#无法使用c#连接到sql server 2008
【发布时间】:2012-08-31 12:30:31
【问题描述】:

我在一台 PC 上安装了 SQL Server,并在另一台计算机上创建了一个 c# 程序来连接到服务器。但是,当我运行我的程序时,我收到一个异常,提示用户“测试”登录失败。

这是用于连接的代码:

SqlConnection con = new SqlConnection("Data Source=IP,PORT;Network Library=DBMSSOCN;Initial Catalog=Stockinfo;uid=testing;pwd=testing");

我在服务器中创建了一个登录名,用户名和密码作为测试。至于服务器认证,已经设置为SQL Server和Windows认证。我还为防火墙创建了一个例外。我做错了什么?

提前感谢您的帮助!

编辑 1:我可以在运行服务器的计算机上使用相同的用户 ID 和密码通过 SQL Server 身份验证访问服务器。

【问题讨论】:

  • System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的未处理异常附加信息:用户“testing”登录失败。
  • 你说你已经在那个服务器上创建了一个登录——这只是第一步。您是否还在该特定数据库 (Stockinfo) 中创建了一个用户(用于该登录)??
  • 是的,我已经为该特定数据库创建了一个用户

标签: c# sql-server-2008-r2


【解决方案1】:

您有 Sql Server Management Studio。如果是,那么您可以打开它并右键单击有问题的实例,转到属性 -> 连接 -> 选中“允许远程连接到此服务器”。

您可能还必须通过配置管理器启用 TCP/IP 协议。

它会返回这个错误吗?

发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。 (提供者:命名 Pipes Provider,错误:40 - 无法打开与 SQL Server 的连接)

You can check this link: enable remote connections in SQL Server 2008

另一个原因是检查另一台计算机的防火墙是否在其防火墙上添加了端口 sqlbrowser或端口 1433 已打开)。

更新 1

用户testing 根本不存在或者您提供了incorrect password

【讨论】:

  • 启用 TCP/IP 协议也允许远程连接。如果我输入错误的 ip 和端口,它只会返回该错误消息,至于我打开端口 1433 的端口
  • 如果使用这种连接字符串格式,你能连接吗? Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
  • @chuawoohian 你的远程电脑在哪里?局域网内还是湾外?
  • 两台笔记本电脑都以无线方式连接到网络。我认为没有局域网连接。局域网连接对我有帮助吗?
  • 尝试相互 ping 每一台笔记本电脑。它会返回 ping 时间吗?
【解决方案2】:

用户“testing”登录失败。

这通常意味着用户无权访问该数据库。

【讨论】:

  • 如何检查登录名是否可以访问该数据库?另外,我可以使用 microsoft sql server management studios 连接到服务器,并使用用户 ID 和密码进行 sql 身份验证(在服务器端 PC 上)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
  • 2010-10-07
  • 1970-01-01
相关资源
最近更新 更多