QTP/UFT调用SP

有两种方法,其一是直接使用SQL语句的方法:
Set dbCountryConn = CreateObject("ADODB.Connection")
dbCountryConn.Open "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=prv;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=HZ27P4993473.corp.statestr.com)(PORT=1521))));Password=prvUser;" 'open connection
Set dbCountryRs = Createobject("ADODB.recordset")
connectionCountryString = "call sp_qa_test('8BA3',to_date('2013-06-28', 'yyyy-MM-dd'),to_date('2013-07-04', 'yyyy-MM-dd'),'CLOSE','999528AJ1','ivt_can_eq_eq','itl_eq','CA','itl_eq',null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null)"
Set dbCountryRs = dbCountryConn.Execute(connectionCountryString)
dbCountryConn.Close

第二种是使用ADODB.Command对象:
Function CallReplaySP()
On Error Resume Next
Err.Clear
Dim objCmd, guid, errorCode
Set objCmd = CreateObject("ADODB.Command")

guid = testparameters.item("GUID")
objCmd.ActiveConnection = objConnection
objCmd.CommandType = 4 'Stored Procedures
objCmd.CommandText = "OPGCEP2.GCTH_PKG_UTL.SP_REPLAY_TRANSACTIONS" 'sp name
objCmd.CommandTimeout = 30

Set objParm = objCmd.CreateParameter("GUID", 200, 1, 32, guid)
objCmd.Parameters.Append objParm

Set objParm2 = objCmd.CreateParameter("P_USERID", 200, 1, 30, "e521915")
objCmd.Parameters.Append objParm2

Set objParm3 = objCmd.CreateParameter("P_ERROR_CODE", 139, 2, 4)
objCmd.Parameters.Append objParm3

objCmd.Execute

errorCode = objCmd.Parameters("P_ERROR_CODE").Value
If errorCode <> 0 Then
''stepErrDescription = "Error Code is " & errorCode & "."
StepResult = "Failed"
Exit Function
End If

Set objCmd = Nothing

If Err.Number <> 0 Then
''stepErrDescription = Err.Description
StepResult = "Failed"
Err.Clear
Exit Function
Else
stepResult="Passed"
stepActual="Replay SP is executed successfully"
End if
End Function

Set objParm2 = objCmd.CreateParameter("P_USERID", 200, 1, 30, "e521915")的200表示类型,1表示入参,30表示长度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值