现在用Oracle11G,需要更新Clob类型字段,由于字符太长,不能直接使用SQL语句,需要用OracleParameter,但是试了一天了,传入的参数一直没有起作用,Sql语句没有变化。
下面是代码                    
                    string sql2 = "update reg_metadata set XMLDOC=:XMLDOC where ID=" + tempID;
                    OracleCommand cmd = new OracleCommand(sql2, conn);
                    string documentString = rsmd.MdDocument;
                    OracleParameter pari = new OracleParameter(":XMLDOC", OracleType.Clob);
                    pari.Value = documentString;
                    cmd.Parameters.Add(pari);
                    int result2 = cmd.ExecuteNonQuery();先后试用用“:”和“@”,还是不起作用,请大家帮忙看一下,在线等。OracleParameterClobSQL

解决方案 »

  1.   

    OracleParameter pari = new OracleParameter(":XMLDOC", OracleType.Clob);这句话的写法没错吗?
      

  2.   

    clob要用dbms_lob來操作吧,不能直接update
      

  3.   

    在MSDN上查了SQL语句,SQL语句是参数前加冒号,赋值时直接用参数名就行,但是现在又出现一个错误:ORA-01461: can bind a LONG value only for insert into a LONG column,正在寻求解决办法
      

  4.   

    sql語句中varchar2類型只能4000以內, 問題應該出在這裡