如何在SSIS导入期间处理唯一标识符值

时间:2014-05-07 09:18:52

标签: oledb ssis uniqueidentifier

我试图将带有唯一标识符列的Excel文件导入SQL服务器,但SSIS给我带来了很多麻烦。

我可以将excel中的唯一标识符值获取到OLE DB目标组件中,但我无法将它们导入SQL Server表。

我在尝试插入唯一标识符时收到以下错误消息。

注意:列CreatedBy在目标SQL Server表中的类型为uniqueidentifier。

  

OLE DB Destination.Inputs [OLE DB目标输入]上的错误。OLE DB Destination.Inputs [OLE DB目标输入]上的[CreatedBy] .Columns [CreatedBy]。返回的列状态为:"由于可能丢失数据,无法转换该值。"。

2 个答案:

答案 0 :(得分:4)

我建议你试试这个:

(DT_GUID)("{"+(DT_WSTR,36)[CreatedBy]+"}")

因为您的初始字符串不包含在转换为GUID之前需要添加的任何括号。

玩得开心!

答案 1 :(得分:2)

您需要添加带有以下转换的派生列

REPLACE(REPLACE((DT_WSTR,50)[CreatedBy], "{", ""), "}", "")

并将新派生列映射到输出目标。

玩得开心!