【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例
1、系统版本信息
System:Windows旗舰版 Service Pack1
Kettle版本:6.1.0.1-196
JDK版本:1.8.0_72
2、连接数据库
本次实例连接数据库时使用全局变量。
2.1 创建新转换:spoon启动后,点击Ctrl+N创建新转换

2.2 在新转换界面中,右键点击DB连接,系统会弹出【数据库连接】界面。

windows系统环境下,可用${}获取变量的内容。

说明:
连接名称:配置数据源使用名称。(必填)
主机名称:数据库主机IP地址,此处演示使用本地IP(Localhost)地址或用127.0.0.1也可以。(必填)
数据库名称:数据库实例名称。(必填)
端口号:数据库使用端口号。MS SQL Server默认1433,Oracle默认1521。(必填)
用户名:登录数据库用户。(必填)
密码:登录数据库对应用户的密码。(必填)
2.3 连接完成后,在DB连接下可看到完成的数据库连接。右键点击分享,可生成sharp.xml文件,同时在kettle.properties文件中配置全局变量。

生成的sharp.xml文件截图

sharp.xml文件部分内容截图。

kettle.properties部分内容截图。

3、数据抽取转换
在【核心对象】下可显示在转换中能使用的所有组件。在【输入】中找到表输入,双击出现到设计页面中;在【输出】下,找到表输出,把空间往空白处拖入即可;然后点住shift键,左键连接两者之间的关系。

A.表输入:双击表输入控件,系统会弹出表输入空间的详细内容。

说明:
数据库连接:DB连接下的连接,这里选择就可以
SQL:编写查询源数据SQL脚本,可以通过“获取SQL查询语句…”获取
替换SQL语句里的变量:如果在查询条件里使用了变量,需勾选
从步骤插入数据:默认
执行每一行:默认
记录数量限制:如果为0,则预览时无数据
预览: 如果无法确定SQL语句是否正常时可以通过【预览】来查看SQL语句是否正确。
B.表输出:主选项

说明:
数据库连接:DB连接下的连接数据源,这里选择就可以
目标表:选择数据需要插入的数据表
提交记录数量:每次插入时提交的数量
裁剪表:如果选中以后,每次都会把目标表的内容清空,然后再插入
指定数据库字段:表输入的字段和表输出的字段需选择映射关系
表输出:数据库字段,在这里可以选择字段的映射关系。

说明:
获取字段:会自动获取字段的映射关系
输入字段映射:需手动维护字段的映射关系
SQL:点击SQL会有选项;执行:本人暂未点击过
完成了表输入和表输出的连接后,可点击左上角的三角号执行下,在下方可查看执行日志



说明:
根据日志可以查看出每个步骤执行的记录数、读、写、输入、输出、更新、拒绝、错误、激活、时间、速度。可根据此处分析当前转换运行效率而断定转换是否需要进行优化。
总结:
1、 在运行转换时,当前转换是处于并发状态,如果有多个表输入则会同时运行。
2、 在设计转换时最好是一个数据流,不要一个转换有多条数据流;如果有多条数据流则有可能发生锁表问题。
【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例的更多相关文章
- SQL Server恢复软件SysTools SQL Recovery/SysTools SQL Server Recovery Manager
SQL Server恢复软件SysTools SQL Recovery/SysTools SQL Server Recovery Manager http://www.systoolsgroup.co ...
- [SDK2.2]SQL Azure (13) Azure的两种关系型数据库服务:SQL Azure与SQL Server VM的不同
<Windows Azure Platform 系列文章目录> 如果熟悉Windows Azure平台的用户不难发现,对于SQL Server数据库来说,微软提供了两种服务,分别是: -W ...
- sql语句优化SQL Server
MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了 ...
- MS SQL错误:SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems
早晨宁波那边的IT人员打电话告知数据库无法访问了.其实我在早晨也发现Ignite监控下的宁波的数据库服务器出现了异常,但是当时正在检查查看其它服务器发过来的各类邮件,还没等到我去确认具体情 ...
- 安装SQl 2008为SQL Server代理服务提供的凭据无效
解决:安装SQl 2008为SQL Server代理服务提供的凭据无效 sql server 2008 代理服务提供的凭据无效sql server 2008 代理服务提供的凭据无效在Windows S ...
- Sql server之sql注入篇
SQL Injection 关于sql注入的危害在这里就不多做介绍了,相信大家也知道其中的厉害关系.这里有一些sql注入的事件大家感兴趣可以看一下 防范sql注入的方法无非有以下几种: 1.使用类型安 ...
- PowerDesigner反向数据库时遇到[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句。SQLSTATE = 37错误解决方法
逆向工程中,有时会出现如下错误 ... [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句 SQLSTATE = 37000 解决方案: 1. ...
- SQL Server 2005 发布 订阅 (配置实例[图])(转载)
2.1 发布&订阅 1. 测 试环境: Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server S ...
- [Oracle][ODBC SQL Server Driver][SQL Server]对象名 'RECOVER.HS_TRANSACTION_LOG' 无效(转)
原帖由 qingyun 于 2010-6-21 15:44 发表 在写pl/sql的时候,有个很重要的注意点:比如:begin update 某个sqlserver的表@dblink名字 .... ...
随机推荐
- 关于Spring的一点东西
Spring IoC 容器 容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁.Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件.这些对象被称为 Spr ...
- 【原】SPARK_MEM和SPARK_WORKER_MEMORY的区别
SPARK_MEM:设置每个Job(程序)在每个节点可用的内存量:(默认为512m) SPARK_WORKER_MEMORY:设置集群中每个节点分配的最大内存量:(默认为内存总量减去1G)
- mybatis异常:Error instantiating class com.psc.bean.User with invalid types () or values ().
Error instantiating class com.psc.bean.User with invalid types () or values (). 是由于bean类没有无参构建方法,添加一 ...
- jQuery Event.which 属性
which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮. 对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮. which属性对DOM原生的event.keyCode和even ...
- mysql时间字符串按年/月/天/时分组查询 -- date_format
SELECT DATE_FORMAT( deteline, "%Y-%m-%d %H" ) , COUNT( * ) FROM test GROUP BY DATE_FORMAT( ...
- UOJ #357. 【JOI2017春季合宿】Sparklers
Description 小S和小M去看花火大会. 一共有 n 个人按顺序排成一排,每个人手上有一个仅能被点燃一次的烟花.最开始时第 K 个人手上的烟花是点燃的. 烟花最多能燃烧 T 时间.每当两个人的 ...
- Vue双向绑定的关键:Object.defineProperty()
这个方法了不起啊.vue.js和avalon.js 都是通过它实现双向绑定的.而且Object.observe也被草案发起人撤回了.所以defineProperty更有必要了解一下了. 先上几行代码看 ...
- MySQL中一个sql语句包含in优化问题
第一版sql: SELECT module.id, module.module_name, module.module_code `module` where IN (module.did_acces ...
- C语言中内存管理规范
一.内存申请 1.建议使用calloc申请内存,尽量不要使用malloc. calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据. 2.申请内存大 ...
- 手把手教你写一个java的orm(四)
开始准备生成sql 在上一篇里,我们已经取到了我们在生成sql语句中所需要的信息,这一篇里我们开始根据class来生成我们需要的sql.在这之前我们先确认几件事情 sql里的参数我们使用占位符的形式. ...