`
gongstring
  • 浏览: 588012 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SybaseIQ导入数据库Load失败的解决办法

 
阅读更多

 

使用isql导入脚本的方式Load数据到IQ中时,出现下面错误:

(0 rows affected)
Msg 21, Level 14, State 0:
SQL Anywhere Error -1013027: Number of bytes (2) for a column from an input file
has exceeded the maximum allowed (512). 
-- (db_RecScanner.cxx 725) 


原因说明:
行结束的分隔符如果使用的是  '\n'  或者  '\X0a'或者 '\Xob'  ,则在操作系统中的编码机不一样,导致寻找换行符的时候,寻找失败,出现上面的错误。

下面是我的解决办法:
如果是使用bcp导出的文件,那么在bcp语句的最后面,加上 -r@@@
然后在Load脚本的最后一个字段后面填写行分隔符的时候,改成'@@@'
这样再导入即可!


参考的是下面这篇不知道是什么文的内容:

 Problème:

L'éxecution du load table génére ce message d'erreur:

 Could not execute statement.
  Number of bytes (3) for a column from an input file has exceeded the
  maximum allowed (512).
  -- (db_RecScanner.cxx 725)
  SQLCODE=-1013027, ODBC 3 State="HY000" 

 

Référence trouvée dans la doc (Sybase):  

Error 1013027

Number of bytes (%2) for a column from an input file has exceeded the maximum allowed (%3). %1

Item Description

SQLCode

-1013027L

Constant

EMSG_DB_RECSCANNER_E_EXCEEDMAX

SQLState

QCA27

ODBC 2 State

ERROR

ODBC 3 State

ERROR

Sybase Error Code

20597

Severity Code

14

Parameter 1

location of the exception

Parameter 2

# of bytes.

Parameter 3

maximum number of bytes allowed.

Probable cause

The number of bytes you are trying to load into a column from an input file has exceeded the maximum number of bytes allowed.

Extrait de la commande Load:

  LOAD TABLE XXXXXXXXXXXXXXXXXXXXXX
    ( XXXXXXX '|',
    XXXXXXXX '|',
   XXXXXXXXXXX '|',

.....

  xxxxxxxxxx '|',
  xxxxxxxxxxx '|',
  xxxxxxxxxxx '@@@')
  FROM '/PATH/Fichier_NAME' 
  QUOTES OFF
  ESCAPES OFF 
MESSAGE LOG '/PATH/Fichier_Name.log'
row log  '/PATH/Fichier_Name.log';
 commit;

 

Résolution 

Le problème est dans les fichier source

 Aprés analyse du fichier, la génération du fichier s'est faite avec un select sans effacer le nombre de ligne retourné à la fin du fichier.

 

XXXX|NXXXXX|                                                                  |XXXX|XXXX|XXXX|          |          |     |XXXX|XXXX|XXXX|XXXXXXXX|XXXX|XXXX|          |          |XXXX|      |     |     |XXXX|        |     |          |          |XXXX |          |          |               |XXXX|   |XXXX|     |XXXX|XXXX|XXXX|XXXX|XXXX|XXXX|XXXX|XXXX|XXXX|          |XXXXXXXX|        |        |XXXX| |XXXX|XXXX|                              |               |          | | |XXXX|                              |XXXX|          |  |          |          |          |   |XXXX|                                                                                                    | | |          | | |          |                              |                              |                              |          |          | | | |                    |  |          |          |          |          |                                              |          |      |      |                                   |          |   |          |               |          |          |                    |                    |                    |          |          |                              |                              |                              |      |    |    |                                                                                                                                                      |XXXX|XXXX|XXXX|          |XXXX|   |   |         |XXXX|  |XXXX|XXXX|XXXX|          |          |          |                    |                    |                    |  |  |  |          |          |          |XXXX|XXXX |X                                                                                      @@@
XXXX|000002207     

La suppression de la ligne résout le problème.


分享到:
评论

相关推荐

    Sybase IQ数据的导入与导出

    Sybase IQ 支持多种数据导入方法,其中`load`命令是最常用的一种。下面将详细介绍`load`命令的使用方法以及需要注意的一些细节问题。 **基本语法**: ```sql LOAD [INTO] TABLE [owner.]table-name[(column-name,)]...

    Sybase IQ12.5 &12.6中文快速参考手册

    - **LOAD数据加载**:通过LOAD命令,可以从外部文件批量导入数据到数据库中。 - **INSERT数据加载**:INSERT语句用于插入单条或多条记录到数据库表中。 ### 五、数据卸载 - **数据卸载方式**:Sybase IQ提供了多种...

    Sybase IQ的数据同步shell代码 load

    本篇将详细探讨如何利用shell脚本进行Sybase IQ数据库的数据同步,主要关注`option`导出与`load`导入的过程。 首先,我们来理解`option`导出。在Sybase IQ中,`option`命令用于设置或显示各种数据库参数,这些参数...

    Sybase IQ12.5 &12.6 快速参考手册.pdf

    《Sybase IQ12.5 &12.6 快速参考手册》是Sybase公司为Sybase IQ数据库管理系统(Sybase IQ)12.5与12.6版本提供的详细指南,旨在帮助用户快速掌握并高效利用该数据库系统的功能。Sybase IQ是一款专为数据仓库、商业...

    SybaseIQ培训手册

    - IQ 服务器无法启动的原因及解决办法。 - IQ 服务器无法正常关闭的问题排查。 - 用户无法访问数据库或数据库对象的解决方案。 - 数据装载时数据表空间不足的应对措施。 - 处理效率低或挂起的情况分析。 - ...

    sybase数据迁移

    IQ ETL(Extract, Transform, Load)则是一个专门针对SybaseIQ的数据加载和转换工具,它可以处理复杂的转换逻辑,实现数据清洗和格式转换,然后再加载到目标数据库。 3. **数据迁移脚本** 数据迁移过程中,通常...

    Linux中数据库客户端(dbeaver)

    - **Sybase**:支持 Sybase ASE 和 IQ 数据库,提供方便的数据迁移和同步工具。 - **PostgreSQL**:作为开源数据库,PostgreSQL与dbeaver的结合使得开发和维护更加便捷。 2. **功能丰富**: - **SQL编辑器**:...

    ERP信息化专业资料:03-SG186人力资源信息管控系统_xxx公司_技术报告.doc

    - **SybaseIQ数据库部署**:SybaseIQ是一个高性能的数据仓库系统,用于处理大规模数据。报告中列举了创建数据库、服务、数据仓库和数据集市用户,以及建立ODBC数据源和创建数据库表的步骤,这些都是构建高效数据...

Global site tag (gtag.js) - Google Analytics