【发布时间】:2008-09-20 08:03:38
【问题描述】:
我们有一个简单的经典 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 登录)。
- 当从 SQL Management Studio 独立于 sproc1 调用时,sproc2 可以工作。
- VBScript (ASP) 捕获一个错误,该错误在 XML 中发送回客户端。错误编号为 0,错误描述为空白。来自 ADODB.Connection 对象和来自 ASP 端在 VBScript 中产生的任何 Err.Number/Err.Description。
所以没有任何错误,也没有任何再现性(即通过 SQL Mgmt Studio)- 有人知道这个问题吗?
我们目前的计划是分解并深入研究 ASP 端的代码,并直接从 ASP 对 Server 2.sproc2 进行完全独立的调用,而不是尝试通过 sproc1 捎带。
【问题讨论】:
-
找到相同的问题,并提供更多关于问题所在的背景信息:stackoverflow.com/questions/605996/…
标签: sql-server stored-procedures asp-classic vbscript cross-server