Sybase bcp:BCP数据文件中遇到意外的EOF

时间:2015-01-07 15:15:34

标签: sybase sybase-ase bcp

我在bcp方面遇到了一些问题。 我试图将文本文件中的数据加载到Sybase ASE 16.0。数据库位于我的本地计算机上(Win 7 64位)。 我使用这个命令:

bcp dbname.owner.TO_INTS in "SomeInts.txt" -P password -S server -U sa -f "bcp_tblTO_INTS.fmt" -e "bcp.errlog.txt"

这是格式文件(" bcp_tblTO_INTS.fmt"):

10.0 1 1 SYBINT4 0 5 "" 1 SEEMS_THIS_IS_IGNORED

目标表有一个列,定义为INT: CREATE TABLE owner.TO_INTS ( FROM_INT INT NOT NULL ) LOCK ALLPAGES ON 'default' GO

我有两个问题。

  1. bcp只会填充目标表,如果数据中只有四个字符(即1000到9999之间的值)。如果我使用超出此范围的值,我会得到:
  2. Unexpected EOF encountered in BCP data-file. bcp copy in failed

    1. 未正确填充值:
    2. 输入值(在文件中):1000填充为(在Sybase中):808464433

      输入值(在文件中):9999填充为(在Sybase中):960051513

      文件编码是ANSI。 EOL字符是LF。

      我做错了什么?

      由于 戴夫。

1 个答案:

答案 0 :(得分:1)

由于您的文件只有一列,请删除格式文件并改用-c选项。这将以字符(明文)模式BCP文件,并应该解决问题。

如上所述,您可能需要将EOL字符更改为CRLF