急问:ORA-01461 :仅可以为插入LONG列的LONG值赋值错误 表中有一列是XMLType类型的,程序里用参数化的OracleCommand执行插入,但是会提示ORA-01461错误。跟踪发现对应那列的参数内容是5000+字符的一段xml文档,该参数定义为Oracle.CLOB类型。客户端和服务器都是Oracle10.2g黔驴技穷,毫无办法。。 多谢各位~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 blob类型,需要有专门方法,去网上google一下,有很多例子。 网上的例子也都是用OracleParameter的,我已经这么做了可是还不行啊。 XMLTYPE实际上是CLOB,超过2k要用其他方法 用参数 OracleParameter param = new OracleParameter("", OracleDbType.Clob); param.Direction = ParameterDirection.Input; param.Value = str; cmd.Parameters.Add(param); 或存储过程 我已经使用这种方法了,没有用这种方法前,使用的是SQL命令字符串,这时提示的错误时字符串过长。后来换成了OracleParameter,就是你帖子里的这种,当xml串很长时, 会提示01461。刚才我把表中XMLType的列换成NCLOB后,貌似没有问题了。 但是还是不知道原因。 对象化映射的时候NUMBER:decimal LAW:object Long:decimal Int:decimal bool:decimal //CodeSmith自动转化为object blob:object clob:objectOracleParameter,只定义OracleDbType.Clob,BLOB为byte[]数组哦,需要传入具体可以参考FortuneBase中N_SEC_USER交互部分参考地址www.cnblogs.com/mail-ricklee 请问在winform 中,如何发送邮件呢?请给一段代码 初始化配置文件怎么老是操作没效果 TFS 连接的项目没有锁的标识了 c#中Setting.setting的使用的问题 如何把显示在PictureBox控件图片,另存为?(Winform下)高手赐教! 请教有整个程序的compile包,怎么部署? C#代码转VB????? 请问:C#中ListBox控件中ValueMember值的怎么读取 关于c#写的类库如何实现在串口获得值改变后自动触发能让调用该DLL的程序知道 快来救救小白 c#调用c++dll问题 访问数据库如何给表加锁?解锁? Excel读取问题
用参数
OracleParameter param = new OracleParameter("", OracleDbType.Clob);
param.Direction = ParameterDirection.Input;
param.Value = str;
cmd.Parameters.Add(param);
或存储过程
我已经使用这种方法了,没有用这种方法前,使用的是SQL命令字符串,这时提示的错误时字符串过长。后来换成了OracleParameter,就是你帖子里的这种,当xml串很长时, 会提示01461。刚才我把表中XMLType的列换成NCLOB后,貌似没有问题了。 但是还是不知道原因。
NUMBER:decimal
LAW:object
Long:decimal
Int:decimal
bool:decimal
//CodeSmith自动转化为object
blob:object
clob:objectOracleParameter,只定义OracleDbType.Clob,BLOB为byte[]数组哦,需要传入具体可以参考FortuneBase中N_SEC_USER交互部分
参考地址www.cnblogs.com/mail-ricklee