我到处都看到过这个问题的变体,但似乎无法让它发挥作用。我需要能够从一个平面文件中批量插入数据,其中一些文本字段将包含回车符。
我已将平面文件设置为由插入符号 ^ 符号分隔。行分隔符是竖线,列分隔符是制表符。为什么当我的文本字段中有回车时导入仍然失败?
我的印象是,如果行/列分隔符不是 CR/LF,那么分隔的文本字段可能包含 CR/LF(或单个 CR 或单个 LF)。我怎样才能让导入工作?谢谢。
PS - 我一直在测试的方式是只取一个表,将其导出到一个带有上述分隔符的平面文件,在文本字段中插入换行符,然后尝试使用 SQL Server 导入导出向导再次导入数据在两个方向。这是我看到的错误消息:
错误 0xc02020a1:数据流任务 1:数据转换失败。列“第 23 列”的数据转换返回状态值 4 和状态文本“文本被截断或一个或多个字符在目标代码页中不匹配。”。
错误 0xc020902a:数据流任务 1:“源 - IVREJECTHD_txt.Outputs[平面文件源输出].Columns[Column 23]”失败,因为发生了截断,并且“源 - IVREJECTHD_txt.Outputs [平面文件源输出”上的截断行处置].Columns[Column 23]" 指定截断失败。指定组件的指定对象发生截断错误。
错误 0xc0202092:数据流任务 1:处理数据行 2 上的文件“C:\Users\bbauer\Desktop\IVREJECTHD.txt”时出错。
错误 0xc0047038:数据流任务 1:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。Source - IVREJECTHD_txt 上的 PrimeOutput 方法返回错误代码 0xC0202092。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。