Getting started with BCP
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"):
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
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
2. The values are not being populated correctly:
Input value (in file) Populated as (in Sybase)
The file encoding is ANSI. The EOL character is LF.
What am I doing wrong?
Bret Halford replied
it looks like your data file may be in ascii (human-readable values) format rather than native binary format.
A format file isn't generally needed when you have a ascii data; you would use the -c parameter with bcp rather than the default -n. Try:
bcp dbname.owner.TO_INTS in "SomeInts.txt" -P password -S server -U sa -c