【问题标题】:Not able to insert the rows which contain '#' special Character from CSV file to SQl database,using SSIS packages无法使用 SSIS 包将包含 '#' 特殊字符的行从 CSV 文件插入到 SQl 数据库
【发布时间】:2016-03-09 01:11:02
【问题描述】:

当我尝试使用 SSIS 包将 CSV 文件导入 SQL 表时,我无法插入包含“#”作为特殊字符的行。

它抛出以下错误:

'[DCNV - Unicode 到 NonUnicode [14]] 错误:“DCNV - Unicode 到 NonUnicode.Outputs[数据转换输出].Columns[PrimaryAddr1]" 由于发生截断而失败,并且截断行处置 关于“DCNV - Unicode 到 NonUnicode.Outputs[数据转换 Output].Columns[PrimaryAddr1]" 指定截断失败。A 在指定的指定对象上发生截断错误 组件。'

请帮我解决这个问题。如何允许 '#' 特殊字符插入到数据库表中。与此问题相关的专栏是Customer Address(DT_WSTR)

【问题讨论】:

  • 请解决这个问题..这是一个非常紧迫和重要的问题需要解决。谢谢

标签: sql-server csv unicode ssis


【解决方案1】:

检查源数据类型和目标数据类型以确保您正确指定它们 - Jet 可能猜错了 - 它只查看前几行来猜测您的数据是什么数据类型。

另请注意,错误实际上是向 NonUnicode 抱怨 Unicode - 确保源/目标长度正确并描述您的数据。

【讨论】:

  • 是的,源和目标具有相同的数据类型和相同的长度,但仍然发生此错误。它允许插入所有其他记录,除了在该文本中具有 '#' 作为字符的记录.如果我删除那个“#”,那么导入成功。但我还需要将“#”插入数据库,因为为了方便而更改文本是不正确的。所以请给我解决方案。谢谢。
  • 你能发布一个文件不工作的例子吗?我去看看。
  • 我无法发布文件..'1# ST CHECHENG ROAD. EAST.and '1# 1ST CHECHENG ROAD。 EAST LONGQUAN' 这是两条以'#'为字符的记录。源列的数据类型为“Unicode DT_WSTR”,目标列的数据类型为“DT_STR”,两者的长度均为“255”
  • 我刚刚尝试了一个我自己敲出的样本并且工作正常,除非您传递一个我可以用来复制的实际文件,否则我真的无能为力。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
相关资源
最近更新 更多