文本被截断或一个或多个字符在目标代码页中找不到,包括在非旋转表中的主键。

77

我正在尝试将一个扁平文件导入到oledb目标sql server数据库中。

这是困扰我的字段:

图片描述

这是该扁平文件连接的属性,特别是字段:

图片描述

这是错误信息:

[源-18942979103_txt [424]] 错误: 数据转换失败。列“recipient-name”的数据转换返回了状态值4和状态文本“文本被截断或一个或多个字符在目标代码页中没有匹配项。”。

我做错了什么?


2
“Text was truncated…” 似乎暗示导入的文件中该列可能有一个超过100个字符的值……至少值得一看。 - Conduit
4
不,情况并非如此,我确实进行了检查。 - Alex Gordon
2
将行重定向到错误输出并发送到派生列或其他不需要配置的位置。然后添加数据查看器,尝试查找出错的行。可能是其他某一列中有制表符,这会使事情变得混乱。或者前一行没有正确结束。 - Mark Wojciechowicz
@MarkWojciechowicz 谢谢。你所说的数据查看器是什么意思?那是一个控件吗? - Alex Gordon
@yuck 数据查看器是一种工具,允许您在调试期间查看数据。右键单击两个组件之间的箭头,然后选择添加数据查看器(在此情况下为错误流)。然后运行包。当行发送到该缓冲区时,将弹出一个窗口。 - Mark Wojciechowicz
显示剩余3条评论
12个回答

1
通常是因为连接管理器仍然可能是50个字符,因此我通过转到连接管理器 ->高级,并将其更改为100或者如果足够大,则为1000来解决了这个问题。

1

以上方法都没能解决我的问题。我通过将源数据(另存为)保存为单个xls工作表Excel 5.0/95格式,并且不导入列标题的方式来解决了我的问题。此外,我提前创建了表格并手动映射,而不是让SQL自动创建表格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接