如何将XML列表传递给oracledb中的过程 [英] How can I pass my XML list to the procedure in oracledb
本文介绍了如何将XML列表传递给oracledb中的过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
错误:ORA-01036:非法变量名称/编号
error:ORA-01036: illegal variable name/number
create or replace package body Test_Package is
PROCEDURE sp_xmldata(v_xml_list11 clob) as
BEGIN
insert into xmldata
(x_name, x_password, x_email)
select name, password, email
from xmltable('/NewDataSet/table' passing xmltype(v_xml_list11)
columns
name VARCHAR2(100) path 'name',
password VARCHAR2(100) path 'password',
email VARCHAR2(100) path 'email');
END;
end Test_Package;
protected void btnsubmit_Click(object sender, EventArgs e)
{
string oradb = "Data Source = online; User Id = tsregs_user; Password = tsregs_user;";
OracleConnection conn = new OracleConnection(oradb);
List<Details> _objlist = new List<Details>();
Details _obj = new Details();
_obj.name = txtUsername.Text;
_obj.password = txtPassword.Text;
_obj.email = txtEmail.Text;
_objlist.Add(_obj);
XElement xml_list11 = new XElement("NewDataSet",
from element in _objlist
select new XElement("table",
new XElement("x_name", element.name),
new XElement("x_password", element.password),
new XElement("x_email", element.email)
));
OracleCommand cmd = new OracleCommand("Test_Package.sp_xmldata", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(xml_list11.ToString(), DbType.Xml);
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
我尝试过:
i将我的xml列表传递给oracledb中的过程
What I have tried:
i passed my xml list to the procedure in oracledb
推荐答案
Quote:
cmd.Parameters.Add(xml_list11.ToString(),DbType.Xml);
cmd.Parameters.Add(xml_list11.ToString(), DbType.Xml);
有你的问题。 添加
方法的第一个参数是参数的名称。您传递的XML字符串不是有效的参数名称。
尝试:
There's your problem. The first argument to the Add
method is the name of the parameter. You are passing an XML string, which is not a valid parameter name.
Try either:
cmd.Parameters.Add("v_xml_list11", DbType.Xml).Value = xml_list11;
或:
Or:
cmd.Parameters.AddWithValue("v_xml_list11", xml_list11);
这篇关于如何将XML列表传递给oracledb中的过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文