0

私はグーグルで検索しましたが、どの解決策も私にはうまくいかないようです!SQL ServerにSPROCがあり、SPROC内に入力パラメーターと出力パラメーターが設定されています。

従来のASPを使用して、その出力パラメーターの値を取得したいのですが、何も設定されていないようです(ただし、SQL Server Management Studioで実行すると出力パラメーターが正しく機能していることがわかります)

OpenConnection

Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandType = 4 'adCmdStoredProc
Set cmdTemp.ActiveConnection = dbConn
cmdTemp.CommandText =  "GetCerts"   
cmdTemp.Parameters.Refresh
cmdTemp.Parameters(1) = "ABC123"
cmdTemp.Parameters(2).Direction = 2 'Output

Set reader = cmdTemp.Execute

Response.Write(cmdTemp.Parameters(2)) ' Nothing is displayed at all. 

CloseConnection

名前付きパラメーターのアプローチを使用しようとしましたが、パラメーターが範囲外、引数が間違っている、またはタイプが間違っている(これに似たもの)というエラーが常に発生しました。

本当に...頭痛がします。SPROC(SPROCの2番目のパラメーター)からのOUTPUTパラメーター値を設定したいだけです。

4

3 に答える 3

0

COM の世界のほとんどのコレクションは、0 から始まるインデックスを使用します。Parameters(0)入力パラメーターおよび出力パラメーターとして使用してみてくださいParameters(1)

于 2013-01-30T06:18:21.927 に答える
0

長い長い調査の結果、私がやろうとしていることは不可能だと思われます (しかし、.NET では可能です)。最初に出力パラメータ値を取得し、次に結果を表示するために、コマンドを2回実行する必要があるようです。最悪。.NET を称賛しましょう!

于 2013-01-29T14:37:43.877 に答える
0

エラーを確認します。

Set reader = cmdTemp.Execute

If Err.number <> 0 or  dbConn.Errors.Count <> 0 Then
   'Do something to handle the error
End If

ストアド プロシージャを実行する権限はありますか? つまり、ASP ユーザーの資格情報...

従来の ASP からストアド プロシージャを実行する

于 2013-01-29T10:55:05.703 に答える