我目前正处于Larson工作的第8章使用Microsoft SQL Server 2012提供商业智能
本书指示我使用基于SQL Server 2012的数据源(ADO.NET,名为MaxMinAccounting的数据库)和另一个名为MaxMinManufacturingDM的非规范化数据集市数据库构建SQL Server 2012 Integration Services Package,其中填充了SQL Server目标任务。
虽然我意识到SQL Server 2012中提供的导入向导可以为我创建此任务,但我认为本书正在尝试为将来创建包时构建基础,因为它们变得更加复杂。所以我想在SSIS中完成这项任务。
在Source ADO.NET任务中,我有一个如下所示的查询:
SELECT LocationCode As PlantNumber,
LocationName as PlantName,
CAST(CountryCode AS varchar(2)) AS CountryCode
FROM Locations
WHERE LOCATIONTYPE = 'Plant Site'
看起来LocationCode是INT,LocationName是varchar(50),countrycode被列为nchar(2)
在我的目的地表DimPlant中,我有三列。 PlantNumber为int,PlantName为nvarchar(30),countrycode为nvarchar(2)
起初我认为数据类型可能无法正确映射,因为它们不同。所以我决定使用cast语句来改变数据类型。现在,当我运行包时,整个错误都出错了,SSIS根本没有给出任何关于错误的解释。我很沮丧,也很感激任何建议。
答案 0 :(得分:0)
我选择将目标DIM表格设为50个字符。我还发现SSIS有这种讨厌的习惯,如果表格出错,就不会自行清理。我发现我创建的每个数据步骤通常都有一个与SSMS相关联的DELETE FROM (table Name)
。
感谢您的回复。