Kettle实验问题记录

1 连接数据库

本次实验过程中连接了两个数据库,分别是MySQL和SQL Server

问题1:缺少mysql或jtds的jar包

解决办法:将这两个文件拷贝到data-integration/lib目录下

问题2:SQL Server提示不能通过1433端口登录

解决办法:

  • 打开cmd用telnet localhost 1433进行测试,如果无法连接表示1433端口还未打开
  • 在所有程序中找到安装的SQL Server配置管理器,对SQLEXPRESS1的协议(本机数据库的实例名)、客户端协议启用Named Pipes和TCP/IP这两项

       

  • 将SQLEXPRESS1所属的TCP/IP下各个IP的端口设置为1433并设置已启用,对于IPAll,禁用动态端口一栏(值为空即可)。并将客户端协议下的TCP/IP端口也改为1433。
  • 重启SQL Server。建议在计算机管理->服务中进行重启,尽管在SQL Server Management Studio中也能右键进行。

问题3:用户不能登录,提示18456错误

解决办法:首先用写入的用户名和密码在SQL Server中进行SQL Server身份验证登录,如果无法登录那么可以采用以下的方案。

原文:https://www.cnblogs.com/xiaobaicai12138/p/5485035.html

最重要的两点:

  • 取消强制密码策略,否则会有大小写规则。并且sa属性页面的密码经过修改后看起来都是没有变化的。
  • sa密码手动修改!!!新建一个查询执行命令进行密码修改

连接成功截图:

  • 用sa登录成功

  • kettle连接SQL server成功

    

注意选择的是MSSQL server第二个选项native


2 从MySQL->SQL Server的转换

 

问题1:运行后提示错误初始化步骤[字段选择]

解决办法:双击字段选择进行配置

元数据选项下的类型和长度的指定也很重要,未配置这两个之前错误没有解决。

问题2:存储到SQL Server后数据乱码

解决办法:双击输入/输出,在选项一栏加上characterEncoding gbk,再去掉对输入中“允许建议设置”的勾选


3 增加计算器,进行字段值的合并

问题1:合并失败,sex_age字段为NULL

解决办法:sex和age类型不一致,分别为string和Integer,此处没有进行自动转换。因此在字符选择阶段把age类型改为string即可。此处age和sex为NULL是因为我没有进行这两个字段的选择,直接输出的合并后结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值