Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net SQL Server中出现错误40_Asp.net_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

Asp.net SQL Server中出现错误40

Asp.net SQL Server中出现错误40,asp.net,sql-server,sql-server-2008-r2,Asp.net,Sql Server,Sql Server 2008 R2,我在我的服务器上安装了一个Asp.net中的网站,我的网站数据库在SQL server 2008 R2中。我的网站有包含ActiveX组件的页面。当我在服务器上运行我的网站时,ActiveX组件工作正常,但从客户端运行网站时出现问题 不包含ActiveX组件的页面工作正常,我可以从数据库中获取和插入数据。在包含ActiveX组件的页面中,它向我提供了SQL Server错误号40,即无法打开连接 有人能帮我解决这个问题吗?正如Steve B在他的评论中所暗示的,问题在于ActiveX组件直接调用

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

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


有人能帮我解决这个问题吗?

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

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