在具有不同排序规则的数据库中重用SSIS包:该列不能是进程,因为指定了多个代码页

时间:2014-03-13 10:29:46

标签: sql-server-2008 ssis bids

我有一个SSIS包,它应该在几个具有相同模式但不同排序规则的数据库中运行。

当我使用与我创建包的排序规则不同的排序规则更改为另一个数据库时,我收到一条错误消息,指出指定了多个代码页并需要更新包元数据。

有没有办法跳过这个或者我是否必须为每个不同的数据库整理构建不同版本的包?

1 个答案:

答案 0 :(得分:0)

您可以尝试更改查询以明确整理列

SELECT 
COL1 COLLATE Latin1_General_CS_AS,
COL2 COLLATE Latin1_General_CS_AS,
COL3 COLLATE Latin1_General_CS_AS,
ANumberField
FROM YourTable

假设它可以自动执行整理,这应该保持整理一致。

或者你可以尝试演员到NVARCHAR(unicode)

SELECT 
CAST(COL1 As NVARCHAR(100)) COL1,
CAST(COL2 As NVARCHAR(100)) COL2,
CAST(COL3 As NVARCHAR(100)) COL3,
ANumberField
FROM YourTable