BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 将文本文件(csv)数据导进数据库
第二节 将文本文件数据导进数据库
该小节介绍如何用BIML生成ssis包,将货币文本导入到数据库currency的表中。
SSIS组件:
- Connection Manager组建管理connection,数据库链接和文本链接
- SQL task组件来把Currency表清空
- OELEDE destination来插入数据到目标Currency表
输入 文本文件如下,目标表Currency存在于数据库中。
Currency.csv
CurrencyCode |
Name |
CNY |
元 |
USD |
美元 |
JPY |
日元 |
1. 配置了 一个数据库链接
注意:配置了 一个数据库链接,其他组件要引用connection,它的ConnectionName一定要跟connection
manager链接名字的一致
<Connections > <Connection Name ="OLEDB_Staging" ConnectionString="Data </Connections> |
2. 配置SQL Task来清空Currency表
<BIML xmlns="http://schemas.varigence.com/BIML.xsd"> <Connections > <Connection Name ="OLEDB_Staging" ConnectionString="Data Source=.\SQL2012;Initial Catalog=Staging; Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"/> </Connections> <Packages> <Package Name="Staging" ConstraintMode="Linear"> <Tasks> <ExecuteSQL Name="SQL - Truncate Curreny Staging" ConnectionName="OLEDB_Staging"> <DirectInput>Truncate Table dbo.Currency </DirectInput> </ExecuteSQL> </Tasks> </Package> </Packages> </BIML>
Truncate Table dbo.Currency 用于清空Currency表
3. 验证错误并生成包,打开包如下
可以执行包验证
4. 添加组件,设置执行顺序
注意上文中Package的属性:ConstraintMode="Linear" 用于顺序执行,Parallel用于并发执行。
本节的两个组件需要Linear(顺序)执行。
<BIML xmlns="http://schemas.varigence.com/BIML.xsd"> <FileFormats> <FlatFileFormat Name="FlatFileFormatCurrency" RowDelimiter="LF" ColumnNamesInFirstDataRow="true" IsUnicode="false"> <Columns> <Column Name="CurrencyCode" DataType="String" Length="256" Delimiter="Comma" CodePage="1252" /> <Column Name="Name" DataType="String" Length="256" Delimiter="LF" /> </Columns> </FlatFileFormat> </FileFormats> <Connections > <Connection Name ="OLEDB_Staging" ConnectionString="Data Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"/> <FlatFileConnection Name="FlatFileCurrency" FileFormat="FlatFileFormatCurrency" FilePath="C:\SourceFile\Currency.csv" /> </Connections> <Packages> <Package Name="Staging" ConstraintMode="Linear"> <Tasks> <ExecuteSQL Name="SQL - Truncate Curreny Staging" ConnectionName="OLEDB_Staging"> <DirectInput> Truncate Table dbo.Currency </DirectInput> </ExecuteSQL> <Dataflow Name="DFT Source"> <Transformations> <FlatFileSource ConnectionName="FlatFileCurrency" Name="FF <OleDbDestination ConnectionName="OLEDB_Staging" Name="OLEDB <ExternalTableOutput Table="Currency"></ExternalTableOutput> </OleDbDestination> </Transformations> </Dataflow> </Tasks> </Package> </Packages> </BIML> |
5. 验证并生成包
可以看到文本组件依赖上面的清空数据组件(箭头顺序)
6. 执行包,查看执行结果,并到数据库中查询Currency表。
7. OK,没问题,文本导入到数据表中了。
BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 将文本文件(csv)数据导进数据库的更多相关文章
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序
BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 连接数据库执行SQL语句
BIML 101 - BIML 快速入门教程 第一节 连接数据库执行SQL语句 本小节将用BIML建一个简单的可以执行的包. 新建一个biml文件,贴入下面的代码 1 <Biml xmlns=& ...
- SpringBoot系列: RestTemplate 快速入门
====================================相关的文章====================================SpringBoot系列: 与Spring R ...
- Flask开发系列之快速入门
Flask开发系列之快速入门 文档 一个最小的应用 调试模式 路由 变量规则 构造 URL HTTP 方法 静态文件 模板渲染 访问请求数据 环境局部变量 请求对象 文件上传 Cookies 重定向和 ...
- EntityFramework6 快速入门教程
EntityFramework6 快速入门教程 不得不说EF在国内实在是太小众,相关的技术文章真实屈指可数,而且很多文章都很旧了,里面使用的版本跟如今的EF6差别还是比较大.我刚开始弄这个的时候真是绕 ...
- .NET Core 快速入门教程
.NET Core 快速学习.入门系列教程.这个入门系列教程主要跟大家聊聊.NET Core的前世今生,以及Windows.Linux(CentOS.Ubuntu)基础开发环境的搭建.第一个.NET ...
- .NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
一.前言 本篇开发环境?1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview 二.安装 .NET Core SDK 1.下载 .NET Core下载地址 ...
- .NET Core快速入门教程 5、使用VS Code进行C#代码调试的技巧
一.前言 为什么要调试代码?通过调试可以让我们了解代码运行过程中的代码执行信息,比如变量的值等等.通常调试代码是为了方便我们发现代码中的bug.ken.io觉得熟练代码调试技巧是成为合格程序员的基本要 ...
- .NET Core快速入门教程 4、使用VS Code开发.NET Core控制台应用程序
一.前言 为什么选择VS Code?VS Code 是一款跨平台的代码编辑器,想想他的哥哥VS,并是微软出品的宇宙第一IDE,那作为VS的弟弟,VS Code 也不会差,毕竟微软出品.反正ken是这么 ...
随机推荐
- CTF MD5之守株待兔,你需要找到和系统锁匹配的钥匙
这是提示 从系统锁下手,通过get方式key字段提交答案,直到您的钥匙与系统锁相等则成功. 点开链接可以发现有两串字符,而且系统的秘钥是一直在变化的 题目中已经给了MD5加密,那么用MD5解密发现您的 ...
- [CSP-S模拟测试]:慢无止境的八月(乱搞)
题目传送门(内部题102) 输入格式 第一行三个正整数$n,k,q$,分别表示数列长度,操作长度和修改个数. 第二行$n$个数,表示给出的终止数列. 接下来$q$行,每行两个数$pos,dx$,表示将 ...
- 关于数据库表设计之区域表system_district:省市县街道四级地址表
关于省市县的数据表的设计有两种方式: 一.将其设计成一张表 DROP TABLE IF EXISTS `system_district`; CREATE TABLE `system_district` ...
- nginx返回固定字符串
在系统还没有做集群的情况下,直接重启项目时刚好用户在使用的话,一般都会受到投诉,那么使用nginx返回类似“系统维护”的提示信息并且提前在应用上面做通知才是合适的做法 那么记录一下nginx里面的配置 ...
- Linux 特殊权限
Linux 有三个高级权限suid,sgid,sticky. 1.suid suid 属性只能运用在可执行文件上,含义是开放文件所有者的权限给其他用户,即当用户执行该执行文件时,会拥有该执行文件所有者 ...
- Windows下Git的下载与安装
1).打开百度,输入Git进行搜索,如下图所示: 2).进入Git官网,由于电脑是Windows系统,选择Downloads for Windows,如下图所示: 3).电脑是64位操作系统,选择下载 ...
- SolrCloud配置
一.简介 Apache Solr是基于Lucene的全文搜索引擎.如何让Solr具有容错性和高可用性,SolrCloud可以帮助我们搭建集群,提供分布式索引,以及自动备份.SolrCloud是Solr ...
- IIS7 部署MVC 运行不了 注意事项
经常安装完iis7或者7.5后,部署MVC3.运行后提示 403 找不到目录. 解决办法:需要重新注册下iis C:\Windows\Microsoft.NET\Framework64\v4.0.30 ...
- struts数据回显
数据回显,必须要用struts标签! Action中: // 进入修改页面 public String viewUpdate() { // 模拟一个对象(先获取一个id,再根据id调用service查 ...
- Servlet(3):Cookie
概念 Cookie是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet支持HTTP Cookie. 识别返回用户包括三个步骤: (1) 服务器脚本向浏览器发送一组Cooki ...