我试图将带有唯一标识符列的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]。返回的列状态为:"由于可能丢失数据,无法转换该值。"。
答案 0 :(得分:4)
我建议你试试这个:
(DT_GUID)("{"+(DT_WSTR,36)[CreatedBy]+"}")
因为您的初始字符串不包含在转换为GUID之前需要添加的任何括号。
玩得开心!
答案 1 :(得分:2)
您需要添加带有以下转换的派生列
REPLACE(REPLACE((DT_WSTR,50)[CreatedBy], "{", ""), "}", "")
并将新派生列映射到输出目标。
玩得开心!