Sql server 将管道分隔数据从平面文件加载到SQL Server表时出错
我正在查看现有的SSIS包 我从源代码管理下载了这个包。更改连接管理器以指向我的本地开发环境 任务是从平面文件中读取数据并加载到SQL Server数据库中 文件是一个Sql server 将管道分隔数据从平面文件加载到SQL Server表时出错,sql-server,ssis,ssis-2012,Sql Server,Ssis,Ssis 2012,我正在查看现有的SSIS包 我从源代码管理下载了这个包。更改连接管理器以指向我的本地开发环境 任务是从平面文件中读取数据并加载到SQL Server数据库中 文件是一个|分隔的平面文件。在连接管理器中,标题行分隔符已设置为{LF} 在执行任务时,我遇到了几个错误,其中之一就是 当前用户文件[2]]错误:数据转换失败。列“customfield_storeid”的数据转换返回状态值4和状态文本“文本被截断或一个或多个字符在目标代码页中不匹配。” 我查看了连接管理器,column设置为string[
|
分隔的平面文件。在连接管理器中,标题行分隔符已设置为{LF}
在执行任务时,我遇到了几个错误,其中之一就是
当前用户文件[2]]错误:数据转换失败。列“customfield_storeid”的数据转换返回状态值4和状态文本“文本被截断或一个或多个字符在目标代码页中不匹配。”
我查看了连接管理器,column设置为string[DT_STR],OutputColumnWidth设置为50
在我的数据库表中,该列的类型为varchar(50)
。看来没有什么问题
若我可以将错误输出更改为忽略截断错误,它将不会显示错误。但我不想改变以前为该软件包设置的内容
如何解决此问题?从错误消息的实际文本开始。customfield_Stories列中的任何行是否超过50个字符?或者其中是否包含Unicode或非打印字符?列的值为空。即“| |”,此错误消息几乎总是与底层数据相关。由于您只导入一行,是否可以发布文件?我想知道您是否正确计算了字段(我犯了一个错误),因为空字符串不会产生截断问题。一行中有一行的数据是8888 | 77777 | 1531 | 0 | 0 |“Pop”| Lopez|myemail@example.com|是因为两个双引号吗?哪一列代表customfield\u storeid?这些列都不是空的。