単純に機能する古典的なASPアプリケーションがあり、長い間亡くなったギリシャの神々の怒りを呼び起こさないように、コードを変更することを嫌がっています。
最近、アプリケーションに機能を追加する必要がありました。機能の実装は、実際には単なるデータベース操作であり、UIへの変更は最小限で済みます。
UIを変更し、小さな変更を加えて、新しいデータ値をsproc呼び出し(sproc1)に送信しました。
ASPから直接呼び出されるsproc1で、別のサーバーsproc2にある別のsprocへの新しい呼び出しを追加しました。
どういうわけか、これはASPアプリでは機能しませんが、SQLManagementStudioでは機能します。
技術的な詳細は次のとおりです。
- 両方のデータベースサーバー上のSQL2005。
- SQLログインは、ASPアプリケーションからSQL 2005Server1への認証を行っています。
- サーバー1からサーバー2にリンクされたサーバーが機能しています。
- SQLManagementStudioからsproc1を実行する場合-正常に動作します。コードが使用するのと同じユーザーとして認証されている場合でも(アプリケーションのSQLログイン)。
- sproc2は、SQLManagementStudioからsproc1とは独立して呼び出された場合に機能します。
- VBScript(ASP)は、XMLでクライアントに返されるエラーをキャプチャします。エラー番号は0、エラーの説明は空白です。ADODB.Connectionオブジェクトから、およびASP側からVBScriptで生成されるErr.Number/Err.Descriptionからの両方。
したがって、エラーも再現性もありません(つまり、SQL Mgmt Studioを使用)-誰かが問題を知っていますか?
現在の計画では、ASP側のコードを分解して掘り下げ、sproc1を介してピギーバックしようとするのではなく、ASPから直接サーバー2.sproc2を完全に個別に呼び出します。