用imp导入数据的时候出现错误:Imported 6,000,000 rows
Import: Release 9.2.0.1.0 - Production on 星期六 3月 22 09:23:18 2008Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.注意: RECORDLENGTH=61440000 截断到 65535Imported 12,000,000 rows
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
经由常规路径导出由EXPORT:V09.02.00创建的文件
警告: 此对象由 HANBO 导出, 而不是当前用户
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
Imported 18,000,000 rows
IMP-00032: SQL 语句超过缓冲区长度
IMP-00008: 导出文件中出现无法识别的语句:  
'0为数据类报表、1为文档类报表,默认值为0'
IMP-00032: SQL 语句超过缓冲区长度
IMP-00008: 导出文件中出现无法识别的语句:  
'是否自动发布,0为不自动发布,1为自动发布'
Imported 24,000,000 rows
成功终止导入,但出现警告。imp参数为:
FILE="E:\数据\生产统计\stat_orig.dmp"
LOG="E:\数据\生产统计\imp_stat_orig.log"
FROMUSER=HANBO
TOUSER=POWER
IGNORE=Y
RECORDLENGTH=61440000
FEEDBACK=6000000
用toad和命令行都试了,不行,是不是源文件有问题?

解决方案 »

  1.   

    源文件应该没有问题。
    分析了一下,有两个原因:
    1. 缓冲区不够长,默认是64K,而你的记录长度一度达到61440000, 所以会被截短
    2. 你的字符集配置不一致
       似乎源库用的是ZHS16GBK
       目标库是AL16UTF16 NCHAR
      

  2.   

    1 imp 设置参数 commmit 
    2 更换客户端,最好是中文windows客户端,或者跟exp导出的时候使用同一个客户端的操作系统。
      操作系统不认识 '是否自动发布,0为不自动发布,1为自动发布'  ,应该是中文的问题。
      中文windows客户端的内码为GBK,能自动识别。
    3 Gook luck