ssis.docx

上传人:b****5 文档编号:6841868 上传时间:2023-01-11 格式:DOCX 页数:16 大小:611.58KB
下载 相关 举报
ssis.docx_第1页
第1页 / 共16页
ssis.docx_第2页
第2页 / 共16页
ssis.docx_第3页
第3页 / 共16页
ssis.docx_第4页
第4页 / 共16页
ssis.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

ssis.docx

《ssis.docx》由会员分享,可在线阅读,更多相关《ssis.docx(16页珍藏版)》请在冰豆网上搜索。

ssis.docx

ssis

 

使用SSIS创建一个简单的IntegrationServicesProject:

File->New->Project->BusinessIntellegenceProjects->IntegrationServicesProject

(新建项目1)

(新建项目2)

添加一个ForeachLoopContainer

双击这个ForeachLoopContainer,点击左边的Collection,选择来源文件目录(Folder),输入文件类型(Files)。

点击VariableMappings,点击NewVariable,在Name输入变量名称。

这个变量是目录循环中每个文件的值,稍后会用在每个文件的处理中。

再在里面添加一个DataFlowTask

,双击这个DataFlowTask,进入了DataFlow标签(ControlFlow右边)。

因为原始文件是从测量表读取出来然后写到CSV文件的,所以我们使用FlatFileSource(就是文本文件,CSV文件也属于这类)。

双击FlatFileSource,FlatFileconnectionmanager,点右边的New新建一个文本文件连接,给连接一个名字,选择一个例子文件,按照你的情况输入headerrowstoskip(跳过头列),如果第一列是列名称,你应该输入1。

点击Advanced(高级),给每列选择正确的数据类型,确定。

点击Columns(列),给每列起个名字。

在我们的数据中,都是基本的设备、日期、温度、湿度、气压等等。

但某些记录是错误的(譬如没有日期),这些记录就要忽略,日期是细分为:

年、月、日、小时、分钟的,必须合并,还有温度、湿度某些情况是没有的,你就要处理为NULL。

对于错误的记录(日期为空),我们要添加一个ConditionalSplit,在Condition(条件)中输入“LEN(TRIM(Year))>0”(只需要判断年是否为空)。

关于表达式,需要特别说明一下:

你可以选作左边的变量或者列,或者右边的各种内置函数。

你只需要直接拖放变量、列或者函数到输入框便可。

对于完整的日期,我们需要添加一个DerivedColumn(派生列),从ConditionalSplit拖放关系,要求你选择跳转到指定流程的条件。

双击该派生列,在Expression(表达式)中输入“Year+"-"+Month+"-"+Day+""+Hour+":

"+Minute+":

00"”(构造标准的日期格式,如:

2010-06-2916:

11),日期类型选databasetimestamp(根据你自己的实际情况吧)。

对于NULL数值类型,你也需要添加一个派生列,然后在表达式中输入LEN(TRIM(Temperature))>0?

(DT_R8)Temperature:

NULL(DT_R8)。

这里用DT_R8是因为温度是double。

然后添加一个导入目标,我们的目的是把数据导入到MSSQLServer,所以添加一个SQLServerDestination,双击进入编辑

点击New新建一个数据库连接。

点击Mapping(映射),把CSV文件的列对应到数据库表

接下来就是运行了,如果你正确设置,数据自然会导入到数据库。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1