【问题标题】:Data Conversion Issue in SSIS package - Text to GUIDSSIS 包中的数据转换问题 - 文本到 GUID
【发布时间】:2012-09-03 14:03:38
【问题描述】:

我正在开发一个 SSIS 包,它将打开 Excel 电子表格并将数据导入 SQL Server 2008 中的数据库表中。当我尝试将 Excel 列数据类型:Unicode String [DT_WSTR] 转换为唯一标识符数据类型:@ 987654324@,出现如下错误:

“转换规范的字符值无效”

我需要做什么来解决转换错误?

【问题讨论】:

  • 您是在尝试更改“Excel 源”上的数据映射还是数据转换转换失败?
  • @billinkc - 数据转换转换失败
  • 您是在源为字符串、目标为 guid 的意义上进行转换,还是在数据转换任务中实际编辑输入(或输出)列?
  • 向我们展示一个示例,一个您尝试转换的字符串。基本上你的字符串格式是错误的,因为字符串必须在转换为 GUID 之前进行格式化,并不是所有的字符串都可以立即转换。 Example1, Example2

标签: sql-server-2008 excel ssis data-conversion


【解决方案1】:

我使用派生列转换编辑器并将 excel 列值包装在方括号 {} 中,以便 SSIS 包正确地将 Unicode 字符串转换为 GUID。

【讨论】:

    【解决方案2】:

    我想提一下,这不适用于 Visual Studio 中的 SSIS 2012。如果您尝试执行此操作,则会在派生列转换任务中收到错误。这两个我都试过了:

    (DT_GUID)[列名]

    (DT_GUID)("{" + [ColumnName] + "}")

    这两种方法都会失败。

    但是,如果您只是设置为忽略这些错误而不是失败。它会正常工作。真的花了太多时间试图让它发挥作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多