是不是该行记录太长
在buffer中不够装下尝试加大buffer targwjf% oerr exp 00001
00001, 00000, "data field truncation - column length=%lu, buffer size=%lu actua"
// *Cause: Export could not fit a column in the data buffer.
// *Action: Record the given size parameters and the accompanying messages and
// report this as an Export internal error to customer support. (Part
// of the table has been exported. Export will continue with the next
// table.)
stargwjf%
在buffer中不够装下尝试加大buffer targwjf% oerr exp 00001
00001, 00000, "data field truncation - column length=%lu, buffer size=%lu actua"
// *Cause: Export could not fit a column in the data buffer.
// *Action: Record the given size parameters and the accompanying messages and
// report this as an Export internal error to customer support. (Part
// of the table has been exported. Export will continue with the next
// table.)
stargwjf%
解决方案 »
- Oracle手动建库时出现问题
- 通过一个SQL查询出所有class为1的记录,并查出:每个Number相同的所有记录数量,数据库是ORACLE
- oracle 9下批处理语句会顺序执行吗?
- oracle 查询的问题
- 请教创建索引遇到ora-01450的错误
- 竖表转横表的问题
- 求教:我想用oracle的序列创建160200401111,其中2004为年份,会变化,01111也是变化的,想寻求好的方法
- oracle9i奇怪问题(bug?)
- Net8 Assistant问题.(No listener)
- 字段定义成默认sysdate。为什么有时得不到正确的系统时间
- 表的主码信息在oracle8那张表中能找到?
- 请问DELPHI+ORACLE可以,但VB+ORACLE可以吗?!(10分钟结帖)
1. NLS Settings
----------------------
This is the most common way in which to get these errors.You will probably hit this when:
+ Your database is created in a single byte characterset (for example
WE8ISO8859P1)
+ The NLS_LANG environment variable is set to UTF8 or a similar characterset
+ You've stored extended ASCII characters (like accented French characters etc.)
or other characters that take more than 1 byte to store in UTF8.
Solution 1
----------
Set the characterset in NLS_LANG to a single byte characterset that is correct
for your platform. There is no reason why this shouldn't be possible.2. Invalid data size
---------------------------
This is a less common reason for this error but occurrences have been seen.
For some reason you could have data of incorrect size in a varchar2 column.You can test if you're running into this in the following way:
+ Find out the size of the offending column
+ CREATE TABLE cp_table (col1 <as the offending column>);
+ INSERT INTO cp_table SELECT <offending column> FROM <offending table>;In this case you will get ORA-01401: inserted value too large for columnSolution 2
----------
We will have to store the data in columns that large enough to store the data.Examine the contents of this column in the main table by
SELECT dump(<offending column>) FROM main_table.As a result you will find some values in this column, which are larger than the
defined size for this column.Find out the value with maximum length in the column. Create a new table of the
same specifications as the original table but make sure the offending column has
got the correct size. Insert the rows from the original table into the copy.
1。NLS 设置
这是最有可能的一种
+ 你的数据库是单字节字符集的(例如:WE8ISO8859P1)+ NLS_LANG 环境变量设置为UTF8 或类似的字符集
+ You've stored extended ASCII characters (like accented French characters etc.)
or other characters that take more than 1 byte to store in UTF8.
你已经存入了扩展ASCII字符(比如法语等)或其它超过1个字节的字符在UTF8中
方法 1
----------
NLS_LANG设置是正确的。没有理由去改变
2. 无效的数据长度
---------------------------
这种可能性比较底,但也曾发生过,因为某种原因,错误长度的数据插入了VARCHAR2 类型的COLOUMN你可以这样测试:
+找出COLUMN的定义长度
+ CREATE TABLE cp_table (col1 <as the offending column>);
+ INSERT INTO cp_table SELECT <offending column> FROM <offending table>;如果你得到 ORA-01401: inserted value too large for column
那就证明错误存在。方法 2
----------
We will have to store the data in columns that large enough to store the data.我们必须将数据存放到足够大的COLUMN中检查COLUMN中的内容:SELECT dump(<offending column>) FROM main_table.你可以找出一些数据大于COLUMN的定义长度找出最大的数据长度,建新表,把原来的COLUMN长度改成合适的,把数据从旧表倒入新表