bcp错误:转换/操作导致溢出

问题描述 投票:0回答:3

我有一个包含 8 位数字的文本文件,我想将其复制到我创建的 Sybase 表中:

创建表 foo ( id numeric(20) )

我使用的是数字,因此我可以与现有表中的另一个数字列连接。

我的 bcp 命令的格式信息是: 10.0 1 1 符号数字 1 12 " “ 1 ID 20 0

bcp 复制失败,并多次重复出现以下消息:

CSLIB 消息:- L0/O0/S0/N20/1/0: cs_convert:cslib用户api层:公共库错误:转换/操作导致溢出。

我没有看到任何可能导致输入文本文件溢出的数字。

关于如何复制这些数据和/或为什么失败有什么建议吗? 谢谢!

sql sybase bcp
3个回答
1
投票

我将表的 id 更改为 int。 bcp没有出错,但是数据不正确。

所以我将 id 的表更改为 varchar 并且 bcp 工作正常。 然后我将 id 改回数字(20)并且它起作用了。

这并没有解决 bcp 问题,但确实给了我一个解决方案来获取我需要的数据,这是真正的目标。


0
投票

尝试使用 -c 参数而不使用 -f。它不会提示格式化并且可以正常工作。问题通常是格式使用的默认值不正确。


0
投票

尝试在 bcp 格式文件中使用普通 SYBCHAR 而不是 SYBNUMERIC,bcp 会自动将 SYBCHAR 转换为 NUMERIC,不会有任何抱怨。

© www.soinside.com 2019 - 2024. All rights reserved.