从 Oracle 12 升级到 19c 后出现“ORA-03146:TTC 字段的缓冲区长度无效”

问题描述

我们在更新表记录 BLOB 列时遇到问题。我们收到“ORA-03146:TTC 字段的缓冲区长度无效”错误。我们基本上是在储蓄,例如数据库的 PDF 附件。 问题是从Oracle 12.0.1.2升级到19c(19.3.0.0)后出现的,现在这个问题出现的规模更大了。 我们有一个 .Net 应用程序,通过 ODP.NET (Oracle.DataAccess) 连接到 Oracle 并使用 NHibernate。 我们已经使用 DBUA 从 Oracle 12.1.0.2 升级到 Oracle 19.3.0.0,DB 服务器在 Windows 2012 平台上。

执行命令后出现错误: {OpssqlPrepare2(): sql: UPDATE SIRIUS.Attachment SET Request = :p0,LOANREQUEST = :p1,ARCHIVE = :p2,FILENAME = :p3,FILESIZE = :p4,BINARYCONTENT = :p5,ATTACHMENTTABLE = :p6,ATTACHMENTTABLE p7,NOTE = :p8,MIMETYPE = :p9,CUSTOMID = :p10,ISEXTERNAL = :p11,ISSEND = :p12,DocumentNameDial = :p13,DOCUMENTENUMTYPE = :p14,AttachmentTypeDial = :p15 WHERE ID = :p16 >

BINARYCONTENT 是一个 BLOB 列。

错误与我们拥有的两个环境不同:

  • Oracle DB 19c/Oracle 客户端 19c - ORA-03146:TTC 字段的缓冲区长度无效
  • Oracle DB 19c/Oracle 客户端 12 - ORA-03138:连接因违反安全策略而终止

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)