我们有一个简单的经典 ASP 应用程序,我们一直不愿意修改代码,以免引起一些早已死去的希腊诸神的愤怒。
我们最近需要向应用程序添加功能。功能实现实际上只是一个数据库操作,需要对 UI 进行最小的更改。
我更改了 UI 并进行了小修改,以向 sproc 调用 (sproc1) 提交一个新的数据值。
在直接从 ASP 调用的 sproc1 中,我们添加了对恰好位于另一台服务器 sproc2 上的另一个 sproc 的新调用。
不知何故,这不能通过我们的 ASP 应用程序工作,但可以在 SQL Management Studio 中工作。
以下是技术细节:
- 两个数据库服务器上的 SQL 2005。
- Sql Login 正在从 ASP 应用程序向 SQL 2005 Server 1 进行身份验证。
- 从服务器 1 到服务器 2 的链接服务器正在工作。
- 从 SQL Management Studio 执行 sproc1 时 - 工作正常。即使被认证为我们的代码使用的同一用户(应用程序 sql 登录)。
- sproc2 在独立于 SQL Management Studio 中的 sproc1 调用时工作。
- VBScript (ASP) 捕获在 XML 中发送回客户端的错误。错误编号为 0,错误描述为空白。来自 ADODB.Connection 对象和来自 ASP 端在 VBScript 中产生的任何 Err.Number/Err.Description。
所以没有任何错误,也没有任何可重复性(即通过 SQL Mgmt Studio) - 有人知道这个问题吗?
我们目前的计划是分解并深入研究 ASP 端的代码,并直接从 ASP 对 Server 2.sproc2 进行完全独立的调用,而不是尝试通过 sproc1 捎带。