我从ASP-VBSCRIPT网站连接到oracle数据库,并希望执行一个存储过程,该存储过程接受输入参数并返回一些。存储过程如下:
p_std_currency.get_currency_details(input1,input2,input3,input4,output1,output2)
输入1-4是发送到过程的参数(第3个是日期),而output1-2是发送返回参数的字段/项。 我试图将以上内容调整为以下ASP VBsript但没有成功:
Set oConn_send = Server.CreateObject ( "ADODB.Connection" )
sConnectString_send = "Provider=MSDAORA.1;Data Source=demodbas;User Id=user Password=pas;"
oConn_send.Open sConnectString_send
oConn_send.ActiveConnection = oConn_send
oConn_send.CommandType = adCmdStoredProc
oConn_send.Properties("PLSQLRSet") = TRUE
oConn_send.CommandText = "p_std_currency.get_currency_details"
oConn_send.Parameters.Append oConn_send.CreateParameter(9,10,"01-JAN-10",1,crate_value,crate_id_no)
Set objSearch = oConn_send.Execute
Response.Write crate_value
Response.Write crate_id_no
有什么想法吗?感谢。
答案 0 :(得分:0)
我至少可以看到这三个问题:
您必须为每个参数拨打CreateParameter
一次,即6次。
您必须使用ADODB.Command
而不是ADODB.Connection
来发送命令。
可以使用cmd.Parameters(0)
和cmd.Parameters(1)
检索输出参数。
我建议您查看此示例:http://support.microsoft.com/kb/164485/en-us。它适用于SQL Server,但也适用于Oracle。