Search code examples
sybasesap-asebcp

Sybase bcp: Unexpected EOF encountered in BCP data-file


I've got a couple of issues with bcp. I'm trying to load data from a text file to Sybase ASE 16.0 . The DB is on my local machine (Win 7 64-bit). I'm using this command:

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

Here is the format file ("bcp_tblTO_INTS.fmt"):

10.0 1 1 SYBINT4 0 5 "" 1 SEEMS_THIS_IS_IGNORED

The target table has a single column, defined as an INT: CREATE TABLE owner.TO_INTS ( FROM_INT INT NOT NULL ) LOCK ALLPAGES ON 'default' GO

I have two problems.

  1. bcp will only populate the target table if the data has just four characters in it (ie, values from 1000 to 9999). If I use values outside this range I get:

Unexpected EOF encountered in BCP data-file. bcp copy in failed

  1. The values are not being populated correctly:

Input value (in file) : 1000 Populated as (in Sybase):808464433

Input value (in file) : 9999 Populated as (in Sybase):960051513

The file encoding is ANSI. The EOL character is LF.

What am I doing wrong?

Thanks Dave.


Solution

  • Since your file is only one column, remove the format file and use the -c option instead. This will BCP the file in character (plaintext) mode, and should resolve the issue.

    As noted, you may need to change the EOL character to CRLF