【发布时间】:2012-08-02 13:37:05
【问题描述】:
我继承了一个现有的 SSIS 包,它将平面文件数据导入我的 SQL Server 2005 数据库。我需要将“总销售额”列的数据类型从“数字”更改为“货币”。当我更改数据类型并导出包时,数据类型仍然是数字。
我还尝试创建一个新的平面文件连接以在同一个包中使用,但由于某些奇怪的原因,它仍然是数字而不是“cy”货币。我猜在其他一些区域有什么东西“卡住”了,迫使最后一列保持数字?
有人知道更改平面文件数据源的数据类型的技巧吗?
【问题讨论】:
-
目的地的列类型是什么?我提出这个问题的原因是为什么要担心更改源的数据类型,您的重点是它到达目的地时的数据类型。
-
目的地的数据类型是decimal(9,2),但是我把它改成了“money”,以允许一些更大的新数据(有人输入了60亿的销售额然后作废了) , 耶!)。我做了一个简单的小测试包来重现错误,发现 SSIS 包由于对平面文件数据的期望而中止。
-
我使用平面文件已经有一段时间了,您是否尝试过仅进行数据流转换以将其转换为货币。
-
您创建了一个新的平面文件连接管理器并在平面文件源中切换它,是吗?右键单击从该来源出来的行并选择“查看元数据”(我认为)它是否将类型显示为货币还是保持数字?
-
@billinkc,感谢您的提示!我没有意识到我可以这样查看元数据,我刚开始使用 SSIS。
标签: sql-server sql-server-2005 ssis ssis-data-types