简介
最近公司业务需要用到BI SSIS来处理商业智能和大数据,网上大多数是以前版本介绍,没有最新版,响应公司需要,现现学现卖总结一下入门及调试技巧,随便附加常用技术栈。SSIS是什么?“SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载 (ETL) 包)的平台。
”SQL Server Integration Services (SSIS) 提供一系列支持业务应用程序开发的内置任务、容器、转换和数据适配器。您无需编写一行代码,就可以创建 SSIS 解决方案来使用 ETL 和商业智能解决复杂的业务问题,管理 SQL Server 数据库以及在 SQL Server 实例之间复制 SQL Server 对象。
1.1 入门
新建,微软Visual Studio 最近版本新建就不用多说了,如图;
2 ,SSIS控件
2.1,Variables
(1) 参数设置,在Package设计页面空白处“右键”选择Variables,点击添加参数
(2)Expression设置,点击
配置带函数的参数,选择所需要的参数直接拖动即可
2.2,设置数据连接
(1)在Connection Managers窗口中“右键”创建各种Connection
(2)配置带参数的数据连接,选中创建的Connection后选择Properties窗口中
Expressions配置连接参数,参数配置同上
2.3,Sequence Container
容器控件,用来将相似的tasks分组,一般用来将所有维度表和事实表处理分开
2.4,Execute SQL Task
执行SQL任务
(1)选中控件,选择Edit
SQL Statement栏中配置ConnectionType(数据库类型),Connection(数据库),SQLSourceType
SQLSourceType有三种类型:
-
Direct input ,直接在SQLStatement中输入SQL语句,若需要参数请用“?”代替
-
File connection,File类型连接
-
Variable,从我们配置的Variables中选择
(2)配置SQL语句中需要的参数“?”,选中Parameter Mapping
2.5,Script Task
执行C#代码脚本任务,并返回成功或失败,
(1)选中,右键Edit
选择ReadOnlyVariables,配置需要传入C#代码的参数
(2)编辑C#代码,进入代码编辑界面
2.6,Data Flow Task
数据流任务控件,在其编辑中可放入对数据操作的SSIS控件,
2.7,Excel Source Plus
将Excel数据源导入数据库,在其Edit界面编辑需要导入的Excel数据源,点击[图片上传失败...(image-2c445-1524627024788)]
添加新的数据源
2.8,Conditional Split
可以根据设置的条件函数处理数据,如对数据进行过滤、合并。在其Edit界面,
-
Order条件执行顺序,可上下调节
-
Output Name 输出名
-
Condition配置数据处理条件
2.9,OLE DB Source
OLEDB类型数据源,在其Edit界面配置数据源
New添加新数据库,Data access mode选择数据源获取方式,直接选取或者从Variables参数中选取,或者通过SQL语句获取,若SQL语句需要参数点击
配置
2.10,Derived Column
向要导入的数据库表中派生列,其Edit界面
-
Derived Column Name 派生新列的字段名
-
Derived Column 派生列的方式
-
Expression 新列字段值的表达式
2.11,Lookup Plus
将其他数据库表中的字段值插入数据中,其Edit界面
Input Column 数据中要插入数据的字段名
Reference 需要引用的数据,双击后进入其Edit界面
首先编辑其需要引用数据的数据库,选择数据库Table/View作为数据源或者通过SQL语句查询数据,Key Column为两表关联字段,Value Column为要插入的数据字段
2.12,Data Conversion
数据转换,将数据类型转换为MSSQL的数据类型,在其Edit界面选择需要转换的字段即可
2.13,Row Count – Source
数据统计,统计处理的数据量,需要在Variables中定义Int32数据类型的参数来接受统计值
2.14,OLE DB Destination
OLE DB目标,数据导入的目标,其Edit界面
配置好需要导入数据的数据库与数据表,若出现
错误,请点击Mapping仔细检查数据字段匹配是否正确
3.0调试
3.1 第一种调试方法
如图,再箭头上直接右键 选中Enable Data Viewer,这样运行到这里会停止,并且能看到详细数据情况如下图,点击继续往下走。
3.2 第二种调试方法
如图,在package执行时,会出现一个progress显示执行的进度
3.3第三种调试方法
选中Execute SQL Task,点击右键,选中Edit Breakpoint来设置断点,进行调试。运行到这里会断点
3.4第四种调试方法
package 事件调试,可以在事件选中指定事件,当错误出现时,发送runtime的错误信息或将错误信息写入文档,方便捉错误信息。
4.0 其他
注意,下面部分来自网上
Control Flow 控制流程
Containers 容器
Core Task 核心任务
Other Task 其他任务
- Analysis Services Execute DDL Task
- Analysis Services Processing Task
- Back Up Database Task
- Bulk Insert Task
- CDC Control Task
- Check Database Integrity Task
- Data Mining Query Task
- Data Profiling Task
- Execute Pakcage Task
- Execute Process Task
- Execute SQL Server Agent Job Task
- Execute SQL
- Execute T-SQL Statement Task
- Expression Task
- File System Task
- FTP Task
- Hadoop File System Task
- Hadoop Hive Task
- Hadoop Pig Task
- History Cleanup Task
- Maintenance Cleanup Task
- Message Queue Task
- Notify Operator Task
- Rebuild Index Task
- Reorganize Index Task
- Script Task
- Send Mail Task
- Shrink Database Task
- Transfer Database Task
- Transfer Error Messages Task
- Transfer Jobs Task
- Transfer Logins Task
- Transfer Master Stored Procedures Task
- Update Statistics Task
- Web Service Task
- WMI Data Reader Task
- WMI Event Watcher Task
- XML Task
Data Flow 数据流程
Transforms 传输
- Aggregate Transformation
- Audit Transformation
- Balanced Data Distributor Transformation
- Character Map Transformation
- Conditional Split Transformation
- Copy Column Transformation
- Data Conversion Transformation
- Data Mining Query Transformation
- DQS Cleansing Transformation
- Derived Column Transformation
- Export Column Transformation
- Fuzzy Grouping Transformation
- Fuzzy Lookup Transformation
- Import Column Transformation
- Lookup Transformation
- Merge Transformation
- Merge Join Transformation
- Multicast Transformation
- OLE DB Command Transformation
- Percentage Sampling Transformation
- Pivot Transformation
- Row Count Transformation
- Row Sampling Transformation
- Script Component
- Slowly Changing Dimension Transformation
- Sort Transformation
- Term Extraction Transformation
- Term Lookup Transformation
- Union All Transformation
- Unpivot Transformation
Sources 数据源
Destination 目标
- Destination Assistant
- ADO NET Destination
- Data Mining Model Training Destination
- DataReader Destination
- Dimension Processing Destination
- Excel Destination
- Flat File Destination
- OLE DB Destination
- Partition Processing Destination
- Raw File Destination
- Recordset Destination
- SQL Server Destination
- SQL Server Compact Edition Destination
SSIS 错误和消息参考
SSIS 错误和消息参考:https://msdn.microsoft.com/library/ms345164(v=sql.105)