Хранимая процедура с несколькими параметрами зависает - PullRequest
0 голосов
/ 07 марта 2012

У меня есть хранимая процедура, которая имеет 2 параметра.Когда я запускаю SP в SQL, он возвращает значения, как и ожидалось.Когда я вызываю SP на моей странице ASP (не asp.net), он зависает.У меня есть другой SP, который принимает только один параметр, и когда я вызываю его со своей страницы ASP, он работает как положено.Это код, который я использую для вызова SP с 2 параметрами: 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 дляединственный параметр SP, который работает:

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 без строки Returnvalue.Любая идея

1 Ответ

0 голосов
/ 07 марта 2012

set SearchTranByCardNoRS = Something.Execute Здесь нет команды для выполнения.

cmd.Parameters(1) = x1
cmd.Parameters(2) = x2 
cmd.Parameters(3) = x3
cmd.Execute

Кроме того, я бы убедился, что вы не передаете NULLS в SQL через сценарий.Это также может сбить с толку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...