strSql = " insert into yhsjArrInfo(ID, YHM, JH, DTIME, BZ, ARR1, ARR2 ) values( YHSJARRID.NEXTVAL, 'kty','jh112',sysdate,'',"+":para "+ ", :para ) "; StringBuilder data = new StringBuilder(); data.Append(str);//str 长度为422234 OracleCommand myCmd = new OracleCommand(strSql, orclcon); myCmd.CommandType = CommandType.Text; OracleParameter para = new OracleParameter("para", OracleType.Clob); para.Value = data.ToString(); myCmd.Parameters.Add(para); myCmd.ExecuteNonQuery();error:System.Data.OracleClient.OracleException: ORA-00600: 内部错误代码, 参数: [koklGetLocAndFlag: bndpos], [], [], [], [], [], [], [] 在 System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) 在
我是学java的,但我想应该是一样的,先转换成byte[]数组,再存入clob对象insert 语句改为:strSql = " insert into yhsjArrInfo(ID, YHM, JH, DTIME, BZ, ARR1, ARR2 ) values( YHSJARRID.NEXTVAL, 'kty','jh112',sysdate,'',empty_clob(),empty_clob()) ";再去取这一条记录,where id = :id,取出这条记录后再更新它的empty_clob(),Clob b = (Clob) rs.getClob("arr1"),BufferedOutputStream.write(byte[])类似这样的意思,以供参考