【问题标题】:vb.net cannot connect to mssql servervb.net 无法连接到 mssql 服务器
【发布时间】:2013-12-19 08:41:06
【问题描述】:

我正在尝试连接到 ms sql server 但出现错误:provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server.

这是在 Windows 窗体应用程序中。此应用程序工作正常并连接到其他所有其他 PC 中的 MSSQL Server,但不是我的。此服务器位于本地网络中。所以我猜问题不在 MSSQL Server 中。

在 2 个月之前,这个应用程序也可以在我的 PC 上运行,因为我使用 Visual Studio 2008 对其进行了编码并进行了调试,一切都运行良好。之后我安装了 Visual Studio 2012 和 MSSQL express 2005 和 2008。所以这些更改已在我的 PC 上进行。现在我回去编辑我的应用程序,它无法再连接。

我在网上搜索过,发现这些服务器 2005 和 2008 可能是问题所在。我已经从我的电脑中删除了它们。现在我有 Visual Studio 2008 和 Visual Studio 2012。这可能是我连接到 SQL Server 的问题吗?连接到 oracle 或 My SQL 没有问题。

我无法删除 Visual Studio 2012,因为我有代码。请帮忙。

【问题讨论】:

  • 请更具体!
  • 在 VS 2013 中,打开服务器资源管理器。查看本地 MSSQL 安装,因为您可能安装了多个(MS 2005、2008 或 2012),具体取决于您在配置 VS 时安装的安装选项。
  • 您可能还想检查 Sql Server 配置管理器和其中的各种设置,以确认您使用的 MSSQL 版本及其各种配置。如果 MSSql 服务器位于网络服务器上,那么您可能需要查看允许您的用户配置文件连接到该服务器的 SQL 安全设置。
  • 你能显示你的连接字符串吗?

标签: sql-server vb.net visual-studio-2008 visual-studio-2012


【解决方案1】:

我认为问题不在于命名管道或 Visual Studio 2012,尤其是如果网络中的其他 PC 可以连接到服务器...

  1. 您是否重新启动了 SQL 服务器?
  2. 你能从你的电脑上 ping 通服务器吗?
  3. 您检查并重新检查了连接字符串吗?
  4. 能否使用数据源 (ODBC) 创建与数据库的连接?
  5. 当您说“现在我回去编辑我的应用程序但它无法再连接”时。你的意思是在视觉工作室,调试它还是你的意思是你的程序的部署/安装版本?
  6. 如果您正在调试,您是否 100% 确定您正在尝试连接到正确的 SQL 服务器而不是本地主机?我肯定会三重检查连接字符串以及与之相关的任何内容

解决方案: 如有疑问,请始终在连接字符串中写入您的 IP 地址...

【讨论】:

  • 1-是的。 2-是的。 3-是的。 4-没有。 Microsoft SQL Server 登录 --------------- 连接失败:SQLState:'01000' SQL Server 错误:53 [Microsoft][ODBC SQL服务器驱动程序][DBNETLIB]ConnectionOpen (Connect())。连接失败:SQLState:'08001' SQL Server 错误:17 [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝。但是服务器确实存在。 5-debugging.7-yes.
  • 我可以说服务器阻止了我的登录,但是同一网络上的其他机器如何连接?
  • 也许您缺少服务器实例?喜欢 MYSERVER\SQLEXPRESS 在此处粘贴您的 Visual Studio 连接字符串
  • connetionString = "数据源=DS;初始目录=IC;用户ID=ui;密码=ps"
  • 尝试在连接字符串中写入 IP 地址而不是 DS,并尝试使用这些凭据登录管理工作室(从任何地方)
【解决方案2】:

这个问题多半是防火墙的问题,你有没有试过禁用防火墙并测试一下?

【讨论】:

  • 传入连接不是防火墙,传出不是防火墙?
  • 两者都有!一种方法可以禁用它!或允许 MySQL 端口的防火墙
【解决方案3】:

Google found me this。请尝试执行这些说明并告知我们。

更新

为 Microsoft SQL Server 2005 启用命名管道和 TCP/IP:

点击Start > Programs > Microsoft SQL Server 2005 > Configuration Tools > SQL Server Configuration Manager

在 SQL Server 2005 Network Configuration > Protocols 下用于 MSSQLSERVER:

双击协议名称TCP/IP并将属性ENABLED设置为Yes

双击协议名称Named Pipes并将属性ENABLED设置为Yes

要重新启动 MS SQL 2005 服务,请在 Parallels Pro 控制面板服务器的命令提示符窗口中运行以下命令:

net stop mssqlserver
net start mssqlserver

【讨论】:

  • 我也发现了这个,但正如我所说,同一网络上任何其他 PC 上的同一程序可以建立与服务器的连接,但我的不能。我尝试连接的服务器只有 2005 年。所以链接无法帮助我。
  • 然后你可以尝试在服务器上启用命名管道。更新了答案。
  • 没有帮助。我认为是我的电脑有问题,而不是服务器,因为其他电脑可以轻松连接。
【解决方案4】:

你能从这台电脑连接到另一台服务器吗?
如果是,那么您的服务器中的某些东西可能会阻止您的 PC 连接。

如果不是,那么它们是您 PC 中的问题。

同时尝试使用服务器 IP 而不是实例名称进行连接。

【讨论】:

    【解决方案5】:

    根据您提供的所有信息,我担心这可能是您的 SQL Server Browser 服务将您指向您在相关机器上拥有的(现已删除的)服务器之一。您可以在这台计算机上使用 Web 应用程序中的连接详细信息从 SQL Server Management Studio 打开远程服务器吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 2015-11-22
      相关资源
      最近更新 更多