Sybase bcp:BCP 数据文件中遇到意外的 EOF
Sybase bcp: Unexpected EOF encountered in BCP data-file
我有几个关于 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
目标 table 有一个列,定义为 INT:
CREATE TABLE owner.TO_INTS
(
FROM_INT INT NOT NULL
)
LOCK ALLPAGES
ON 'default'
GO
我有两个问题。
- bcp 只会填充目标 table 如果数据中只有四个字符(即从 1000 到 9999 的值)。如果我使用超出此范围的值,我会得到:
Unexpected EOF encountered in BCP data-file.
bcp copy in failed
- 未正确填充值:
输入值(在文件中):1000 填充为(在 Sybase 中):808464433
输入值(在文件中):9999 填充为(在 Sybase 中):960051513
文件编码为ANSI。 EOL 字符为 LF。
我做错了什么?
谢谢
戴夫
由于您的文件只有一栏,删除格式文件并改用 -c
选项。这将以 字符(纯文本)模式对文件进行 BCP,应该可以解决问题。
如前所述,您可能需要将 EOL 字符更改为 CRLF
我有几个关于 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
目标 table 有一个列,定义为 INT:
CREATE TABLE owner.TO_INTS
(
FROM_INT INT NOT NULL
)
LOCK ALLPAGES
ON 'default'
GO
我有两个问题。
- bcp 只会填充目标 table 如果数据中只有四个字符(即从 1000 到 9999 的值)。如果我使用超出此范围的值,我会得到:
Unexpected EOF encountered in BCP data-file.
bcp copy in failed
- 未正确填充值:
输入值(在文件中):1000 填充为(在 Sybase 中):808464433
输入值(在文件中):9999 填充为(在 Sybase 中):960051513
文件编码为ANSI。 EOL 字符为 LF。
我做错了什么?
谢谢 戴夫
由于您的文件只有一栏,删除格式文件并改用 -c
选项。这将以 字符(纯文本)模式对文件进行 BCP,应该可以解决问题。
如前所述,您可能需要将 EOL 字符更改为 CRLF