【问题标题】:Error 40 in SQL ServerSQL Server 中的错误 40
【发布时间】:2012-06-20 10:44:35
【问题描述】:

我在我的服务器上安装了一个在 Asp.net 中的网站,并在 SQL Server 2008 R2 中安装了我网站的数据库。我的网站有包含 ActiveX 组件的页面。当我在服务器上运行我的网站时,ActiveX 组件工作正常,但是当我从客户端运行网站时出现问题。

不包含 ActiveX 组件的页面可以正常工作,我可以从数据库中获取和插入数据。在包含 ActiveX 组件的页面中,它给了我 SQL Server 错误号 40,它无法打开连接。

谁能帮我解决这个问题?

【问题讨论】:

  • 检查配置文件中的连接字符串
  • 我希望您的 activeX 组件没有直接调用 SQL 服务器?
  • 连接字符串工作正常,因为没有活动 x 组件的页面可以连接到数据库
  • steve:这会阻止我直接调用 sql server 的 activex 组件吗?请记住在服务器中站点正常工作并且活动 x 组件正常工作。

标签: asp.net sql-server sql-server-2008-r2


【解决方案1】:

正如 Steve B 在他的评论中暗示的那样,问题在于 ActiveX 组件直接调用数据库。应用程序中的连接字符串指定从 Web 服务器到数据库服务器的连接。这些连接有效,因为您的防火墙设置允许从该 Web 服务器到数据库服务器的入站连接。当在 ActiveX 控件中设置连接以直接连接到数据库时,您会遇到连接失败,因为防火墙阻止了来自运行 ActiveX 组件的客户端的入站连接。解决方法是重新设计您的应用程序,以便客户端计算机上的 ActiveX 组件不再直接对数据库进行调用;使用网络服务或类似的东西。如果客户端都是域内部的(即这是一个私有应用程序,永远不会面向公众),很可能防火墙没有正确配置为允许与数据库服务器的内部连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    相关资源
    最近更新 更多