SSIS 自测题-文件操作类

说明:以下是自己的理解答案,不是标准的答案,如有不妥烦请指出。

        有些题目暂时没有答案,有知道的请留言,互相学习,一起进步。


 

1、什么是控制流,什么是数据流,控制流和数据流之间的关系是什么?
    控制流:对执行流程中任务的控制
     数据流:主要是用来定义数据从源到目标的过程,中间包含数据的转换,查找,分类等等。
     每个控制流中包含多个数据流。
2、Connection Manager 连接管理器的作用是什么?不同的数据流组件可以使用同一个 Connection Manager 对象吗?
     连接管理器的作用:建立与外部数据源的连接。
     数据流组件的类型不同,不能同时使用。
3、在 OLE DB Source 中什么是 External Column? 什么是 Output Column ?
     External Column:指的是数据源中的列
     Output Column:指的是从数据源中输出的列名

4、请描述一下 Flat File Connection Manager 连接管理器 和 Flat File Destination 组件的关系。
     Flat File Connection Manager:指的是源平面文件
     Flat File Destination:指的是最终生成的目标平面文件

5、在 Flat File Connection Manager 连接管理器中 Text Qualifier 的作用是什么?在什么时候需要被用到?
     Text Qualifier:指文本周围是否有限定符,在文本需要被其他字符包围时使用
6、在 Flat File Connection Manager 连接管理器中 Row Delimiter 和 Column Delimiter 的作用分别是什么?
     Row Delimiter: 行分割符号
     Column Delimiter:列分割符号

7、描述一下比较常用的 Column Delimiter 有哪些?至少四种。
     {,},{|},{;},{:},{CR},{LF},{t}
8、在 SSIS 2012 中,有那四种文件格式类型?例如 Delimited 是第一种。
     分割符号,固定宽度,右端未对齐
9、请举例说明 Delimited 文件格式的使用场景,所针对的文件格式是什么样子的?
    
列与行都有分割符号。
10、请举例说明 Fixed width 文件格式的使用场景,所针对的文件格式是什么样子的?
    
每一列的宽度是固定的
11、请举例说明 Fixed width with row delimiters 文件格式的使用场景,所针对的文件格式是什么样子的?
  
  列的宽度是固定,行存在分割符号
12、请举例说明 Ragged right 文件格式的使用场景,所针对的文件格式是什么样子的?
  
  最后一列宽度不固定。
13、请描述 Fixed width with row delimiters 与  Ragged right 的区别和联系。
    
最后一列的宽度不固定
14、在这四种文件格式中,哪一种是针对不换行的定长文件格式的,Delimited,Fixed width,Fixed width with row delimiters,Ragged right?
    
固定宽度
15、请描述如何使用数据流组件中 Flat File Source 组件的用法。
     拖动 Flat File Source到数据流页面,设定数据源,映射输出列
16、请描述数据流组件中 OLE DB Destination 组件的用法。
     拖动OLE DB Destination组件到数据流页面,绑定数据源
17、对于源文件中有列标题和没有列标题的文件分别应该在 Flat File Connection Manager 中设置什么?
  
  在常规页签中设置:"在第一个数据行中显示数据列名称"
18、请描述控制流组件中 Execute SQL Task 组件的基本用法,使用目的?
     执行SQL语句,可能返回单行,数据集合,没有返回值
     为了更新数据源中的数据,或读取数据源中的数据

19、如果源端使用使用变量类型的 SQL 语句,它的 Output Column 顺序会发生改变,如何解决这个问题?
   
20、如果在源文件中有空值,如何让它在输出到目标表的时候使用目标表列种的默认值 Default Value ?
     不用设置任何选项
21、如果在源文件中有空值,如何让它在输出到目标表的时候显示为 NULL ?
     选中"保留NULL”选项
22、如果在源文件中有空值,如何让它在输出到目标表的时候显示空白字符串 ?
     选中"保留标示"选项
22、请举例说明在 Flat File Source 中 'Retain null values from the source as null values in the data flow' 的用法?
     指定提取数据时,是否保留空值,当为false时,字符串时用空字符串代替,数据用0代替
23、请描述在 OLE DB Destination 的两种不同的 Data Access mode 'Table or View' 和 'Table or View - Fast Load ' 对于源文件空值处理的影响?
   
后者可以使用快速加载选项处理数据
24、请描述在 OLE DB Destination 的 'Table or View - Fast Load' 模式下 Keep Nulls 配置的作用?
     指在加载数据时,是否复制空值。
25、请总结在 OLE DB Destination 中 Access Mode 中的各种配置对源文件中 NULL 值的影响?
     保留默认值
     复制空值

26、描述在 OLE DB Destination 中的 Data Access Mode 'Table or view' 和 'Table or view - fast load' 的区别?
     fast load 对大容量的插入进行了优化。
27、描述在 OLE DB Destination 中 Table or view - fast load 中 Keep Identity,Table Lock,Check Constraints 的大概作用?
     保留标示
     表锁定,其他用户只能 读取,不能修改
     约束检查,在数据更改时进行数据约束检查

28、在数据流中,可以通过什么方式查看在数据流执行过程中的数据?
   
启用数据查看器
29、如何输出不规则的平面文件,即此目标文件包含有多个 Section,每个 Section 的格式各不相同,请描述一下思路?
     对与每section的说明部分,用SQL 直接输出,其他数据部分用SQL 查询,进行组合。
30、在 Flat File Destination 组件中,'Overwrite data in the file' 选项的作用是什么,可以在什么场景下使用的到?
    
重写文件内容,在文件已经存在的情况下。
31、描述在数据流源端中,比如 Flat File Source 组件,它的 Error Output 选项中包含了哪些基本的信息?
     Error output :组件失败,忽略失败,重定向行
32、请描述在数据流源端中,比如 Flat File Source 组件它的 Error Output 中 Error 和 Truncation 的区别是什么?它们有哪几种配置类型?
     Error:指发生错误时应执行的操作
     Truncation:指发生截断时应该执行的操作
     组件失败,忽略失败,重定向行
33、请分别解释在源端的 Error Output 中,Fail Component, Ignore failure, Redirect row 的作用分别是什么?
     Fail Component:发生错误或截断时数据流任务失败
     Ignore failure:忽略错误或截断,并且将数据行定向到转换或源的输出
     Redirect row:将错误或截断的数据行定向到源,转换或目标的错误输出。

34、当在源端的 Error Output 的 Error 选项中选择了 Ignore failure,当目标表对数据有严格的验证时,源文件中出现转换错误,包执行后出现什么情况?
    
包执行失败
35、当在源端的 Error Output 的 Error 选项中选择了 Ignore failure,当目标表对数据有严格的验证时,源文件中出现转换错误,且目标表的 Error Output 也选择了 Ignore failure,包执行后会出现什么情况?
 
    包成功执行,失败的行未能成功执行到目标数据源。
36、当在源端的 Error Output Truncation 选择了 Ignore failure,当目标表对数据有严格的验证时,源文件中出现超长的字符,包执行后出现什么情况?
     包失败
37、当在源端的 Error Output Truncation 选择了 Ignore failure,当目标表对数据有严格的验证时且目标表的 Error Output 也选择了 Ignore failure,源文件中出现超长的字符时,包执行后会出现什么情况?
     包成功执行,目标中的记录比源中的少,发生截断的记录被忽略。
38、当包执行失败的时候,可以在什么位置查看到包执行的整个流程,以及报错的信息?
     执行结果的标签页面中。
39、对于源端的 Error Output 重定向 Redirect Row 的输出是什么内容,包含了哪些信息?
    
错误输出列,错误代码,错误列
40、对于目标端的 Error Output 重定向 Redirect Row 的输出是什么内容,包含了哪些信息?
    
错误输出列,错误代码,错误列
41、如果需要获取类似于错误行所有 Column 的数据,以及 Error Code 以及 Error Column 编号应该是在源端还是目标端的 Error Output 进行配置?
 
    源端进行配制
42、如果需要获取所有完整的正行的错误行数据到错误文件或错误表留给以后手工检查,应该是在源端还是目标端的 Error Output 进行配置?
     源端配制
43、SSIS 2012 ETL 中有没有 XML Destination 控件吗?
 
   没有
44、如何在数据流中将数据输出到 XML 文件? 需要使用到哪些基本的控件,在 SQL 查询的时候应该要注意什么?
  
  利用SQL直接输出XML平面文件,对查询的结果再次进行查询。
45、如何在控制流中奖数据输出到 XML 文件?
   
利用脚本任务直接生成XML文件
46、在使用平面文件构建 XML 文件输出的时候,对输出数据的类型有什么样的特别要求? 为什么要使用平面文件 Flat File 而不使用 Raw File ?
    
47、在 Execute SQL Task 中,什么时候会使用 Result Set 为 XML 的配置? 如何将 Result Set 为 XML 的返回值赋值给包中的变量?
     结果集用于包含 FOR XML子句的 SELECT 语句
48、在 Script Task 中,支持那两种编程 Script?
     C#,VB
49、在 Script Task 中,如何访问包中的变量并取值?
    
Dts.Variables["User::name"].Value
50、如何在 Script Task 中将字符串输出到一个文件,会使用到 C# 的那些知识,需要引入什么命名空间?
   
System.IO
51、什么是 XSD?
    
XSD=XML Schemas Definition XML结构定义
52、在使用 XML Source 时,当只有 XML 文件,但没有 XSD 文档的时候应该如何解决 ?
   
首先生成XSD 文档
53、什么是 CSV 文件,它的全称是什么?
    
CSV:逗号分隔文件 comma-separated values
54、在 SSIS 2012 ETL 中并没有 CSV Source 和 CSV Destination,应该分别使用那种数据流控件来表示 CSV 的 Source 和 Destination?
   
平面目标文件
55、在数据流中 Derived Column 的作用是什么? 表达式中可以实现哪些基本的操作?
   
根据存在的列,产生新的列,类型转换,字符串处理
56、在构建 CSV 输出的时候,使用 Flat File Destination 组件时应该选用哪种文件格式?
     .csv 格式
57、SSIS 2012 ETL 中默认支持到 Excel 的最高版本是哪一个版本?
 
   EXCEL 2010 32位
58、在处理 2013 版本的 Excel 的时候通常需要安装什么样的驱动?
    
AccessDatabaseEngine2010.exe
59、对 Excel 2013版本支持的驱动通常情况下是需要在 64位模式下还是32位模式下运行包?
     32模式下运行
60、描述一下如何将表中的数据输出到同一个 Excel 文件的不同的 Sheet 页中,实现的思路和过程是什么?
     使用条件拆分组件设置数据输出到同一个EXCEL的不同sheet页面中
61、如何将一个 Excel 文件的不同 Sheet 页的数据加载到同一个表或者不同表的实现思路和过程是什么?
     Foreach 循环读取excel的sheet数据然后插入表中

原文地址:https://www.cnblogs.com/mikechang/p/4215318.html