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是因为我没有进行这两个字段的选择,直接输出的合并后结果。