SSIS导入和保存数据时将字符串转换为guid

Sve*_*ang 7 excel ssis data-conversion sql-server-2012

我试图将一个unicode字符串从Excel文件转换为uniqueidentifier.网上已有答案看起来非常简单:

我见过这篇文章:SSIS包中的数据转换问题 - 文本到GUID

和这篇文章:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/6ce5b4d2-913a-40f1-9797-105783181f5e/ssis-variable-that-should-contain-uniqueidentifier

但是在将数据导入SQL Server 2012时,这在Visual Studio 2012中的SSIS 2012中不起作用,运行时会出现典型的转换错误.

在Excel文件中,Guid(作为字符串)以这种格式存储:

00bce79b-6c7b-427F-9711-17c19475f6e4

没有花括号或引号.

Sve*_*ang 22

要使其工作,仍然在派生列表达式中键入:

(DT_GUID)("{" + [ColumnName] + "}")
Run Code Online (Sandbox Code Playgroud)

但是您需要配置错误输出并更改执行此转换的列Ignore Failure而不是Fail Component.

如果你这样做并运行它,它将工作并正确转换和导入,尽管调试器告诉你.