如何通过ado参数对象将JavaScript数组传递给oracle存储过程
问题描述:
我正在研究一个asp + oracle web项目,并且我需要一个多用户选择函数。如何通过ado参数对象将JavaScript数组传递给oracle存储过程
1,使用JavaScript建立一个字符串数组:
var userArray = ["Simon","Sheng","Cheng"];
2,通过ADO参数对象传递给它,但我不知道怎么填参数ojbect:
var cmd = Server.CreateObject("ADODB.Command");
var param = cmd.CreateParameter("par",????????????)<--I don't know how to fill;
3 ,在oracle中创建存储过程
create or replace package demo_pkg
as
type charArray is table of varchar2(255) index by binary_integer;
type t_cursor is ref cursor;
procedure p_test(p_id in charArray,p_cursor out t_cursor);
end;
create or replace package body demo_pkg
as
procedure p_test (p_id in charArray,p_cursor out t_cursor)
AS
v_cursor t_cursor;
BEGIN
open v_cursor for
select last_name from employees where last_name in (select * from table(cast(p_id as charArray)))
p_cursor := s_test;
end;
end;
谷歌3天后,我还在这里,谁能帮帮我?
答
格式为:
CreateParameter(name, type, direction, size, value)
你需要的值是:
adVarChar = 200
AdArray = 0x2000
adParamInput = 1
你会调用它:
var param = cmd.CreateParameter('par', adVarChar + AdArray, adParamInput, 255, userArray)
+0
我猜他正在使用传统的ASP和JScript作为服务器端语言。这意味着他可以使用所有的ASP对象,包括'Server'。 – Martijn 2012-07-11 11:26:20
+0
首先,是的,我使用经典ASP和JScript作为服务器端语言。 – 2012-07-11 14:15:20
请关注你的问题是什么在这里引起你的问题?是否使用ADO将值传递给Oracle存储过程?如果是这样,请简化示例,删除不存在问题的部分(除非当然是全部三个部分),那么也许您应该将其分为多个问题 – 2012-07-10 21:58:24
是,maby我先问Oracle商店程序。 – 2012-07-11 14:31:49