ORA-01406如何解决?在网上搜了半天也没有找到解决办法:(

sandy2001 2003-09-03 10:19:10
ORA-01406 fetched column value was truncated
Cause: In a host language program, a FETCH operation was forced to truncate
a character string. The program buffer area for this column was not large
enough to contain the entire string. The cursor return code from the fetch was
+3.
Action: Increase the column buffer area to hold the largest column value or
perform other appropriate processing.
以上是我找到的网上的解释
可是我该如何做呢?如何Increase the column buffer area ??谢谢
...全文
330 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sandy2001 2003-09-05
  • 打赏
  • 举报
回复
to chanet(陈思童):
不可能是列数太多了,一共才6列,再说其中Content列(long型)中的内容一多就报错,否则正常
chanet 2003-09-03
  • 打赏
  • 举报
回复
可就是说你的列数太多~
sandy2001 2003-09-03
  • 打赏
  • 举报
回复
to hdkkk(diablo2)
这个我当然知道了,我的意思是这个跟我的那个问题有啥关系?
hdkkk 2003-09-03
  • 打赏
  • 举报
回复
select col1 into val1?啥意思??
取得的值放入val1中
hdkkk 2003-09-03
  • 打赏
  • 举报
回复
select col1 into val1?啥意思??

把取得的值放入val1中
sandy2001 2003-09-03
  • 打赏
  • 举报
回复
PROCEDURE ReportDisplay (ReportId in number,IO_CURSOR out T_CURSOR)
IS
BEGIN
open IO_CURSOR for select * from CreateReport where id=ReportId;
END ReportDisplay;

有一个这样的过程,其中CreateReport表中有一个Content字段是long类型的
我用C#调用这个过程,返回了一个Reader对象,当执行reder.Reder()的时候报错
如果Content中的内容少的时候不会报错,可是文字一多就报错

请大侠指教,谢谢
jiezhi 2003-09-03
  • 打赏
  • 举报
回复
你是在執行了什么遇到這個錯誤的呢?
sandy2001 2003-09-03
  • 打赏
  • 举报
回复
to jiezhi(浪子) :
我还是不太明白该如何解决,select col1 into val1?啥意思??
jiezhi 2003-09-03
  • 打赏
  • 举报
回复
你聲明的變量長度太小了。
select col1 into val1 ...
這個里面你需要增大val1的長度
看這些錯誤的解決辦法通常可以在www.orafaq.com里面可以查到。
sandy2001 2003-09-03
  • 打赏
  • 举报
回复
up
jiezhi(浪子) 呢?

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧