热度 12
2011-11-3 23:44
1467 次阅读|
0 个评论
这几日被一个问题搞伤了,用c#开发的一个管理软件,在客户现场试运行时发现远程连接sql server2000数据库,连接可以,查询操作也可以,但发现所有往数据库里添加或修改记录的操作全部失败。奇怪的是删除数据库原有记录的操作却也没问题。 这个和我一起做这个项目的朋友在自己家里有两台机器联网测试,都毫无问题,但却不知道客户那里就怎么不行。我们被客户催的头大,也很恼火,搞了两天检查了各种可能,代码看了有看,但都没解决这个问题。 每次错误的提示都一样:“在建立与服务器的连接时出错。在连接到 SQL Server 2000 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)” google了下,网上到处是这个问题的帖子,按照网上的帖子,有几种可能的原因,比如命名管道和tcp/ip没有打开等等,逐个试不行。 今天没办法,我换了个环境来测试,在实验室里的局域网环境测试,发现还是这个问题,一怒之下,直接把两台机器用网线对接,还是这个问题。还发现个奇怪的问题,两台机器互相ping不通,但居然可以连接数据库进行查询。这让我怀疑是杀毒软件防火墙的问题,关闭杀毒软件和360安全卫士,测试,还是不行。于是检查了下windows防火墙,发现例外规则里没有看到1433这个端口,遂添加之,测试,OK 看来还是防火墙把1433端口给封了。