1

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

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

谁能帮我解决这个问题?

4

1 回答 1

0

正如史蒂夫 B 在他的评论中暗示的那样,问题在于 ActiveX 组件直接调用数据库。应用程序中的连接字符串指定从 Web 服务器到数据库服务器的连接。这些连接有效,因为您的防火墙设置允许从该 Web 服务器到数据库服务器的入站连接。当在 ActiveX 控件中设置连接以直接连接到数据库时,您会遇到连接失败,因为防火墙阻止了来自运行 ActiveX 组件的客户端的入站连接。解决方法是重新设计您的应用程序,以便客户端计算机上的 ActiveX 组件不再直接对数据库进行调用;使用网络服务或类似的东西。

于 2013-07-10T20:52:04.567 回答