(以下都为个人总结,非官方解决办法)
ORA-01461解决办法:
引起原因: 主要为CLOB,BLOB等大字段数据Insert引起.
我的环境: WCF + NHibernate 2.1.1 + Oracle 10g + OracleClient19g
先在 下载Oracle 10g Release 2 ODAC and Oracle Developer Tools for Visual Studio .NET, 配置好数据库的链接(确保没问题,自带测试程序,可以做测试)
接下来开始配置我们的WCF Web环境 & NHibernate.cfg.xml
1. 在web.config中加入以下配置
2. 在hibernate.cfg.xml中坐如下修改
3. 个人理解
Oracle.DataAccess应该是Oracle 为.Net 类库提供的一套数据库访问组件,但是否是基于System.Data.OracleClient的,由于时间的关系,没做过多的研究.
配置好之后,插入CLOB字段数据测试成功
备注:
a. Oracle 总客户端程序一定要跟服务端程序做对应, 貌似在Oracle 的产品体系架构中不存在高版本自适应低版本的规则(这一点上微软就不一样了,更人性化,哈哈,我想Oracle 也肯定有他的理由,并不是说Oracle不好哦!)
b. 对于CLOB字段在hibernate映射文件中的类型对应, sql-type="CLOB" type="String"(对应C#类型的映射)
可以草考的其他资料:
http://forums.oracle.com/forums/thread.jspa?threadID=259360&tstart=0