当我将字符串插入到超出varchar列定义大小的oracle表中时,会导致以下ORA错误。第一个'ORA-12899'非常容易理解并给出正确的信息。但是在我的应用程序的某个时候,出于同样的原因,我得到了不同的错误,即ORA-01461,并且它说“ORA-01461 - 只能插入一个LONG值才能插入LONG列提示”。这个错误说明了不同的原因,但我只有varchar列并插入超过定义大小的字符串。不确定LONG值在图片中的位置。我也在link找到了类似的东西。
ORA-12899 - Value too Large for Column
ORA- 01461 - can bind a LONG value only for insert into a LONG column tips
看起来像o link中提到的oracle缓存报告了第二个ORA错误。有人可以分享一下这两个错误的确切区别是什么?为什么有时候由于同样的原因我得到了其中任何一个?如果我将字符串插入到最大大小超过定义的varchar列中,我通常会得到相同的错误。
答案 0 :(得分:0)
第一个是关于插入值的SIZE(例如字符数),这意味着目标列对于插入值不够宽,但第二个是将LONG数据类型的值插入到不同的数据类型中。