2012-03-07 2 views
0

2 개의 매개 변수가있는 저장 프로 시저가 있습니다.   SQL에서 SP를 실행할 때 예상대로 값을 반환합니다. ASP 페이지 (Not asp.net)에서 SP를 호출하면 응답이 중단됩니다. 하나의 매개 변수 만 사용하는 SP가 있는데이 매개 변수를 ASP 페이지에서 호출하면 예상대로 작동합니다. 이것은 내가이 개 매개 변수를 사용하여 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 

Return Value 줄이없는 다중 매개 변수 SP도 시도해 보았습니다. 아무 생각이 없습니다.

+0

가맹점 서비스 응용 프로그램처럼 보입니다 :) 어쨌든, 어떤 가치관을 전달하고 있습니까? 나는 정확한 값의 예를 보지 못했다. 이 문제는 당신이 지나가고있는 것과 SQL이 SP에서 기대하는 것과 관련이 있습니다. – RogueSpear00

+0

각 매개 변수에 대해 하나의 문자열로 보내고 sql (동일한 데이터)에서 실행할 때 예상되는 결과를 반환합니다. SP와 똑같은 일을합니다. (페이지에서 호출되었을 때 멈추지 만 SQL에서는 작동합니다.) 제대로 작동하는 ubove로 저장된 Proc가 있습니다. –

+0

해결책은 어느 부분 이었습니까? 그것은'Execute' 또는'NULL'입니까? – RogueSpear00

답변

0

여기에는 실행할 명령이 없습니다.

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

또한, 나는 당신이 스크립트를 통해 SQL로 어떤 NULLS을 통과하지 않을 것을 확인한다. 그것은 그것도 올라갈 수 있습니다.

+0

OP에게 통보하도록 질문에 주석으로 질문해야합니다. –

+0

@ShadowWizard - 고마워 - 질문에 대답하는 데 아직도 준결승 :) – RogueSpear00

+0

물론, 그런 일은 사소한 것이 아닙니다. :-) –

관련 문제