使用oledbcommand插入oracle xmltype字段

时间:2013-08-01 09:31:14

标签: c# asp.net .net oracle

是否可以将xml数据插入xmltype字段?

我使用以下代码但是抛出错误

  

ORA-01461:只能插入LONG值才能插入LONG列

我不想使用ODP.NET。有人可以提出任何建议吗?

OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["OracleVAT"].ConnectionString);
            try
            {
                string query = "update c_xml set DATA_XML = xmltype(?) where id=?";

                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection = con;
                cmd.CommandText = query;
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("@DATA_XML", DATAXML.OuterXml);
                cmd.Parameters.AddWithValue("@id", ID);
                con.Open();
                return cmd.ExecuteNonQuery();
            }
            catch
            {
            }
            finally
            {
                con.Close();
            }

1 个答案:

答案 0 :(得分:0)

您还可以使用标准的java api:

这样的事情:

string query = "update c_xml set DATA_XML = xmltype(?) .....

Clob clob = conn.createClob();
clob.setString(1, req_param_xml);
statement.setClob(2, clob);