2つのパラメータを持つストアドプロシージャがあります。 SQLでSPを実行すると、期待どおりの値が返されます。 ASPページ(Not asp.net)でSPを呼び出すと、そのSPがハングします。 私は1つのパラメータだけを取る別のSPを持っています。私はASPページからこれを呼び出すと、期待どおりに動作します。 これは私が2つのパラメータでSPを呼び出すために使用していたコードは次のとおりです。 MID =のRequest.Form( "MID") CardNoString =のRequest.Form( "FullCardNo")複数のパラメータを含むストアドプロシージャがハングする
set connUBC3=Server.CreateObject("ADODB.Connection")
connUBC3.Open "UBC"
If Err.number <> 0 then
TrapError Err.source & ": " & Err.description
End If
set cmdTranByCardNo = Server.CreateObject("ADODB.Command")
With cmdTranByCardNo
.ActiveConnection = connUBC3
.CommandText = "BlahBlah_Transaction_GetByMerchantIdAndCardNo"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter ("RETURN_VALUE", adInteger, adParamReturnValue)
.Parameters.Append .CreateParameter ("@MerchantID", adVarChar, adParamInput, 20, MID)
.Parameters.Append .CreateParameter ("@CardNo", adVarChar, adParamInput, 20, CardNoString)
set SearchTranByCardNoRS = .Execute
If Err.number <> 0 then
TrapError Err.source & ": " & Err.description
End If
End With
これはASPの呼び出しです
set connUBC3=Server.CreateObject("ADODB.Connection") connUBC3.Open "UBC" If Err.number <> 0 then TrapError Err.source & ": " & Err.description End If
cmdFindTrans2 = "BlahBlah_Transaction_GetLast10ByMerchantId '" & MID & "'" set SearchTranByCardNoRS = connUBC3.Execute(cmdFindTrans2) If Err.number <> 0 then TrapError Err.source & ": " & Err.description End If
私はまた、戻り値のない線を使わずに複数のパラメータSPを試しました。 アイデア
マーチャントサービスアプリケーションのように見えます:)とにかく、あなたはどんな値を渡していますか?正確な値の例は表示されません。この問題は、あなたが渡しているものと、SQLがSPでそれを期待していることとにある可能性があります。 – RogueSpear00
私は各パラメータの数値の文字列に送信しています。そして、それらをsql(同じデータ)で実行すると、期待される結果が返されます。私はまったく同じことをする別のSPを持っています(それはページから呼び出されたときにハングアップしますが、SQLで動作します)、うまく動作することがわかっているuboveとして保存されたProcを持っています。 –
解決策はどれですか?それは 'Execute'か' NULL'でしたか? – RogueSpear00