使用Microsoft SQL Server 2012程序包错误提供商业智能

时间:2013-11-26 15:46:04

标签: sql sql-server ssis

我目前正处于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根本没有给出任何关于错误的解释。我很沮丧,也很感激任何建议。

1 个答案:

答案 0 :(得分:0)

我选择将目标DIM表格设为50个字符。我还发现SSIS有这种讨厌的习惯,如果表格出错,就不会自行清理。我发现我创建的每个数据步骤通常都有一个与SSMS相关联的DELETE FROM (table Name)

感谢您的回复。