[求助,急!]error: 40 - 无法打开到 SQL Server 的连接

pikapi 2007-08-21 03:45:18
我利用GridView和DetalView做一个管理系统,GrideView我用的是自己写的代码。另一个使用的自动的数据榜定,自己机子上没有问题,放在公司的机器上报告


“/WGS”应用程序中的服务器错误。
--------------------------------------------------------------------------------

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)


GridView使自己写的,可以正常现实,但点击“察看”后就出现上面错误——DetalView的信息不能显示。

尝试了几种网上介绍的办法,不过不好用,我的确开了TCP/IP协议,IIS的ASPNET访问账户也建立了。实在没办法了,谁能帮下忙,谢谢。


配置: SQL2000+DotNet2.0
...全文
3012 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Di1nuli 2011-05-03
  • 打赏
  • 举报
回复
学习了
amoblin 2009-03-10
  • 打赏
  • 举报
回复
5楼错了。是防火墙的关系。开1433端口就好了!
pikapi 2008-05-13
  • 打赏
  • 举报
回复
今天收到结分通知,才发现自己忘了一个,顺便说下结果。自己忘了用绑定的方式配置DataSource了(就是地址不对了),懒了一下。劝大家下次直接在代码中写好,可控性强。
pikapi 2007-08-22
  • 打赏
  • 举报
回复
这个问题先放一下,我想问问,为什么在自己的机器上单机测试就没有报告错误,而装到服务器上就会报错,理论上都是单机测试。

(我后来把文件拷贝到服务上了,直接连接本地的服务器名称,应该不联网也可以访问)
jobine 2007-08-22
  • 打赏
  • 举报
回复
开启1433端口
Jinglecat 2007-08-22
  • 打赏
  • 举报
回复
装 SQL 2k SP4

非本机,请开启 1433 端口
best8625 2007-08-22
  • 打赏
  • 举报
回复
帮顶
pikapi 2007-08-22
  • 打赏
  • 举报
回复
最新测试结果:分别在服务器和我本机上安装IIS,把网站拷贝到两个机器上,设置好虚拟路径,安装好数据库。

服务器GridView显示正常,单击选择后出现上面的错误信息。
自己机器上无问题,测试端口1433无法连接(查看TCP/IP的确为1433端口,所以无法解释)

怀疑错误信息是否正确,因为自己的没开1433端口,应该不是远程访问,还是说有其他问题。因为在第一次装SQL的时候发现有挂起,难道是病毒???
pikapi 2007-08-22
  • 打赏
  • 举报
回复
@endersun不好意思我的是SQL2000不是2005,不过还是感谢。

IIS中我已经把所有的SQLEXPRESS项都删除了,自己用原先封装好的类做了一个SQLTest的程序,在服务器上可以本地连接,还有那个网页是先在服务器上连接的,就过不去。

GridView的数据获取是我自己写的,防止以后有什么大的变动。由于当时用DetailView这种显示的方式不是特别确定,就暂时用的SQLDataSource的数据绑定,于是访问不能。

现在我只知道直接用SQLDataSource的数据绑定会从IIS访问(所以建立好了“主机名/ASPNET”的登录),不过这次出现这个问题还是头一次。

我自己机子上的SQL也没打补丁,没有设置服务的WinDock代理和客户的服务器别名,就没有问题,不过是笔记本,要是台式的我就直接换机子了。



lsq667 2007-08-22
  • 打赏
  • 举报
回复
学习下~~~
顶顶贴了.....
endersun 2007-08-22
  • 打赏
  • 举报
回复
从"开始菜单"调出"配置工具"中的"SQL Server 外围应用配置器".然后单击"服务和连接外围应用配置器",选择数据库实例(默认是"SQLEXPRESS",选择database Engine的"远程连接"中的"本地连接和远程连接(用TCP/IP)",这样即可打开SQL Server 2005的远程连接(默认不允许).
gcaling2006 2007-08-22
  • 打赏
  • 举报
回复
你本机调试时用的数据库和服务器运行时用的数据库是同一个服务器吗?若是,考虑服务器上连接字符串设定,及测试是否能连接数据库,可用ODBC建个SQLSERVER链接,看如何?
pikapi 2007-08-22
  • 打赏
  • 举报
回复
这里补充一下,首先和防火墙没有关系,关了也一样。二是有连接数据库的权限,连个数据获取都用的一个连接字符串。不过自动的数据绑定有问题而已。

@yangaiyuan问的不错,是没有远程访问权限,因为实际生成的代码是由页面的客户端javascript:doPostBack回去的。

不知道怎么设置允许远程访问,我自己的机子的数据库服务器可以访问(我记得没特意的设置),而公司的就是不行,Sp4的补丁也打了,VIA,Tcp/Ip通道也开了,不知道怎么做了。希望高人们帮帮忙,我不是搞数据库的,可是公司又每人会,干着急啊!

最后,谢谢上面的几位兄弟,多谢各位支持。
路人乙e 2007-08-21
  • 打赏
  • 举报
回复
服务器启动了没
有连接数据库的权限没
yangaiyuan 2007-08-21
  • 打赏
  • 举报
回复
服务器允许远程访问了么???
zhchg6666 2007-08-21
  • 打赏
  • 举报
回复
up
jobine 2007-08-21
  • 打赏
  • 举报
回复
开防火墙了嘛?开放1433和1434端口?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧