Oracle 使用N个函数问题更新NClob
我正在使用N函数更新SQL查询中的NClob。但是,updateusingn函数不允许我更新超过1900个字符。删除N函数后。我能够将1900多个字符更新到我的NClob列 有人能帮我解释为什么我不能使用N函数更新NClob列吗?有什么限制吗 代码是 StringBuilder updateQuery=新建StringBuilder(“更新表名称集列名称=”); append(“=N”).append(NClobContent.append(“”).append(“”).append(“,”); ps.execute(updateQuery.toString()) 如前所述:Oracle 使用N个函数问题更新NClob,oracle,sql-update,nclob,Oracle,Sql Update,Nclob,我正在使用N函数更新SQL查询中的NClob。但是,updateusingn函数不允许我更新超过1900个字符。删除N函数后。我能够将1900多个字符更新到我的NClob列 有人能帮我解释为什么我不能使用N函数更新NClob列吗?有什么限制吗 代码是 StringBuilder updateQuery=新建StringBuilder(“更新表名称集列名称=”); append(“=N”).append(NClobContent.append(“”).append(“”).append(“,”);
- 文本文字的最大长度为4000字节
NClobCOntent
变量中的任何多字节字符都会损坏
不要使用N语法,而是将变量传递给数据库;你可能会找到一个有用的起点。或者您可以使用,具体取决于字符串长度。请显示代码和错误。这是一个简单的更新语句,如下所示-更新表\u name set column\u name=N“长度超过4000个字符的字符串”,其中rowid=12345我得到的错误是“字符串文字太长”,请编辑您的问题,然后在其中发布代码,而不是注释,并显示调用此的代码。我已使用代码编辑了问题。当我使用cstmt.setCharacterStream()时,后端函数(接收NCLOB)无法保存unicode字符。执行所有这些操作的全部目的是将unicode字符(如日语或俄语字符)存储在NCLOB中,使用stream,我无法将其传递到后端。