我正在使用在 Windows NT 上运行的 SQL Server 6.5 的 Net 3.5 Web 服务。再一次,不要问我为什么 :)
当我在本地 IIS 5.0 上部署 webservice 时出现问题,我在两种情况下都使用完全相同的连接字符串。我甚至在从 IIS 运行 webservice 和从 Visual Studio 运行 webservice 时在断点处捕获了字符串,发现它们是相同的!下一行代码是
connection.Open();
并且在该行代码中断,发生异常,但仅限于 IIS 情况。连接字符串包含用户名和密码,但没有集成安全密钥。我在 IIS 上使用部署的 WS 时收到的错误是服务器不存在或访问被拒绝。我检查了 sql 服务器分析器(是的,sql 6.5 有名为 SQL trace: 的分析器)以查看它是否与凭据有关,但它甚至没有启动 sql 服务器。
我觉得是某种网络问题,或者我不知道。这很奇怪。同一台计算机看不到同一台服务器。唯一的区别是,在一种情况下 WebService 在 IIS 上运行,而在另一种情况下在 Visual Studio 上运行。我的管理员不知道。
我表示怀疑,但是,有什么想法吗?:D
ps 我在 stackoverflow 上发布了这个问题,但后来意识到也许这是更合适的地方。
答案1
找到解决方案!
在 SQL 6.5 中的 SQL 客户端配置工具中将默认协议设置为 TCPIP 是一个技巧。它最初是命名管道。
连接字符串还需要此键网络库 = DMBSSOCN
怀疑是否有人会需要这个但也许有人:)