ORA-01461:仅能绑定要插入的 LONG 列的 LONG 值
问题
使用 NHibernate 插入实体,发生实体字段类型为 CLOB时 实体插入报错:ORA-01461
排查发现字段长度较短时没有该问题,但是内容超过某一限定长度后就会报错,怀疑长度在 2000 - 4000 时由于将字段类型识别为 LONG 导致。
解决方案
针对该问题暂定的解决方案,如果有更好的方案欢迎补充:
- 存储较长内容,使用
BLOB格式; - 存储为
CLOB格式,将内容长度固定补空格到4000+,避免被转换为LONG类型;1
2string text = "test";
text = text.PadRight(4001, ' ');
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 hd2y 博客!