• 仅能绑定要插入 LONG 列的 LONG 值 ORA-06512: 在 line 4


    2.仅能绑定要插入 LONG 列的 LONG 值
    ORA-06512: 在 line 4

    用PL/SQL
    "declare "+
    "v_clob clob :=?; "+
    "v_clob2 clob :=?; "+
    "begin "+
    "insert into QB_QBBS_QBXX(uuid,qblb,qbfssj,bbdw,bbr,qbsbsj,qbzt,qbsbbm,qbsbdw,qbspzt,spdw,spr,spsj,qbnr,qbnr2) values(?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'),?,?,sysdate,'已上报','情报',?,'通过',?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'),v_clob,SUBSTR(REGEXP_REPLACE(v_clob2,'(\<[^\>]+\>)|(&&nbsp;)|(\s)'),0,30) ); "+
    "end; ";

    绑定数据列

    在用ado.net开发oracle数据库时,常常会遇到这样的错误,会出现这样的错误的由几个数据类型,分别是varchar2,clob,long,nvarchar2,nclob,如果在执行操作的时候,没有对参数类型进行绑定的话,偶尔就会出现这个错误,造成错误的原因主要是根据字符串的长度,比如clob字符在2000-4000时出现这个错误,其他的类似,所以在编码的时候尽量不要用自动类型转换方式,而要进行显示绑定,由于这次项目是做异构/同构数据库同步,所以需要兼容很多数据类型,所以在代码里尽量使用了自动类型转换,没有进行显示绑定,这样大大的减少了代码量,不然在编码上一个varchar2就必须对应上所以的字符数据类型,代码冗余,确实有些是不必要进行绑定的,比较省事。为了尽量避免隐患,最好还是都绑定一下类型。因为在开发环境中测试,很多隐藏问题没法测出来。

  • 相关阅读:
    2019 Multi-University Training Contest 3
    SDU暑期集训排位(2)
    2019牛客暑期多校训练营(第四场)
    2019牛客暑期多校训练营(第三场)
    2019 Multi-University Training Contest 2
    2019 Multi-University Training Contest 1
    hdu1158 Employment Planning(dp)
    hdu 1130How Many Trees?(卡特兰数)
    C++大整数类模板
    组合数模板
  • 原文地址:https://www.cnblogs.com/chai-blogs/p/5291054.html
Copyright © 2020-2023  润新知