2012-09-10 35 views
2

我正在开发一个SSIS包,它将打开Excel电子表格并将数据导入到SQL Server 2008中的数据库表中。当我尝试转换Excel列数据类型时:Unicode String [DT_WSTR]一个唯一的标识符数据类型:unique identifier [DT_GUID],我得到以下错误:SSIS包中的数据转换问题 - 文本到GUID

“流延规范无效字符值”什么我需要做什么来解决转换错误?

+0

你试图更改“Excel源代码”上的数据映射或这是从数据转换转换失败吗? – billinkc

+0

@billinkc - 它是f从数据转换转换 –

+0

您是否正在转换您的源是字符串,而您的目标是guid,还是实际上是在编辑数据转换任务中的输入(或输出)列? –

回答

5

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

0

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

(DT_GUID)的ColumnName]

(DT_GUID)( “{” +的ColumnName] + “}”

这两个会失败

但是,如果你只是简单地设置忽略这些错误而不是失败,它会正常工作,真的花太多时间试图让它起作用