查询数据库发现ORA-01406错误,请问高手怎么解决?

WizardBear 2003-08-31 03:54:56

要查询的表约60万记录,表名假设为t,大约有50个字段;

用select count(*) from t 没问题,

select * from t 失败,报“ORA-01406:读取的列值被截断”错误。

select * from t where rownum < 100 成功,

select * from t where rownum < 101 失败,

用一个一个的字段selet发现其他字段正常访问(select 某字段名 from t),只有一个字段出现 ORA-01406 错误,

究竟是什么原因会导致这个错误呢?

怎么解决这个问题?
...全文
2368 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
WizardBear 2003-09-16
  • 打赏
  • 举报
回复
RE: hrb_qiuyb

1、我的问题就是在plsqldeveloper 5.0下出的,sql_plus没问题,但是自己写的应用程序也有问题。

2、我用的是ora 8.0.5 你说的补丁是不是这个版本?哦,我自己查察看。。。

3、问题已经解决,出问题的环境网络带宽小(64K左右),更换网络(100M)后,问题消失。

谢谢各位!

tiangou 2003-09-01
  • 打赏
  • 举报
回复
set long 30000
chanet 2003-08-31
  • 打赏
  • 举报
回复
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.
morinson 2003-08-31
  • 打赏
  • 举报
回复
你那个列的类型实什么?
hrb_qiuyb 2003-08-31
  • 打赏
  • 举报
回复
Re;

我的建议如下:
1、换一种工具,比如用pl/sql developer执行一下你的查询,看是否还有问题。

2、这涉及到一个bug,bug号为1686483,你需要打补丁了。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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