BIDS Manager 中的 SQL_variant 和 DT_WSTR 不匹配
Mismatch on SQL_variant and DT_WSTR in BIDS Manager
我正在使用 BIDS 将一些数据更新到 SQL Server 2008 R2。
我的源是 varchar
并且目标 table 将此列 VariantValue
作为 sql_variant
数据类型。所以我使用派生列转换来创建一个带有此表达式的 unicode 新列:(DT_WSTR,4000)(PNumber)
。这意味着我正在将 varchar
转换为 unicode
并将其插入 sql_variant
列
我缓慢变化的维度连接管理器抛出此错误:
Cannot map columns of different types.
Column 'PNumber' is of type 'System.String' and column VariantValue
is of type 'System.Object'
Sql_Variant 数据类型有很多限制:
- varchar(最大)
- varbinary(最大)
- nvarchar(最大)
- xml
- 文字
- ntext
- 图片
- 行版本(时间戳)
- sql_variant
- 地理
- hierarchyid
- 几何
- 用户自定义类型
- 日期时间偏移量
所以我认为您的行源是 Varchar(Max)
所以即使您将其转换为
(DT_STR,4000,1252)(PNumber)
它会起作用。
或者您可以使用 SQL 命令作为源并将列从中转换为 VARCHAR(4000)
或 NVARCHAR(4000)
。
注意:当使用MAX
长度时,SSIS将其视为blob数据DT_TEXT
参考文献
我正在使用 BIDS 将一些数据更新到 SQL Server 2008 R2。
我的源是 varchar
并且目标 table 将此列 VariantValue
作为 sql_variant
数据类型。所以我使用派生列转换来创建一个带有此表达式的 unicode 新列:(DT_WSTR,4000)(PNumber)
。这意味着我正在将 varchar
转换为 unicode
并将其插入 sql_variant
列
我缓慢变化的维度连接管理器抛出此错误:
Cannot map columns of different types.
Column 'PNumber' is of type 'System.String' and columnVariantValue
is of type 'System.Object'
Sql_Variant 数据类型有很多限制:
- varchar(最大)
- varbinary(最大)
- nvarchar(最大)
- xml
- 文字
- ntext
- 图片
- 行版本(时间戳)
- sql_variant
- 地理
- hierarchyid
- 几何
- 用户自定义类型
- 日期时间偏移量
所以我认为您的行源是 Varchar(Max)
所以即使您将其转换为
(DT_STR,4000,1252)(PNumber)
它会起作用。
或者您可以使用 SQL 命令作为源并将列从中转换为 VARCHAR(4000)
或 NVARCHAR(4000)
。
注意:当使用MAX
长度时,SSIS将其视为blob数据DT_TEXT
参考文献