Kettle如何连接SQL Server和问题处理
简介
Kettle(也称为 Pentaho Data Integration)是一款开源的 ETL(Extract, Transform, Load)工具,由 Pentaho 开发。ETL 是指从一个数据源(通常是数据库)中提取数据,进行转换,然后加载到目标系统中。Kettle 为数据集成和数据仓库开发提供了强大的工具和功能。
环境
kettle 版本: 7.1
数据库: sql sever 2022
系统环境: windows
kettle 连接 sql sever
-
打开 Spoon(Kettle 的图形化界面工具): 启动 Kettle 中的 Spoon 工具。
-
创建数据库连接: 在 Spoon 中,选择“View” > “Database Connections”以打开数据库连接视图。右键单击空白区域,选择“Create Connection”。
-
选择数据库类型: 在弹出的对话框中,选择数据库类型为“Microsoft SQL Server”。
-
填写连接信息: 输入以下连接信息:
- Connection Name: 连接的名称,可以随意取。
- Database Hostname: SQL Server 数据库的主机名或 IP 地址。
- Database Port: SQL Server 数据库的端口,默认为 1433。
- Database Name: 要连接的数据库名称。
- Username: 数据库的用户名。
- Password: 数据库用户的密码。
- 测试连接: 点击“Test”按钮,确保连接测试成功。
- 保存连接: 如果测试成功,点击“OK”按钮保存你的数据库连接。
遇到的问题
- 驱动问题
错误连接数据库 [xxx] : org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
org.gjt.mm.mysql.Driver
org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
...
下载连接 : JDBC Driver for SQL Server https://learn.microsoft.com/zh-cn/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver16
解决办法: 根据 jdk 版本进行选择。将下载的驱动文件拷贝到 kettle 安装目录的 data-integration/lib 下,重启进行测试
- SQL Server 提示不能通过 1433 端口登录
解决办法:
- 打开 cmd 用 telnet localhost 1433 进行测试,如果无法连接表示 1433 端口还未打开
- 开始菜单找到,点击运行
- 对 MSSQLSERVER 的协议(本机数据库的实例名)、客户端协议启用 TCP/IP,再右键到 TCP/IP 协议,将 IP 和端口进行设置并且启用
- 设置完成后,将 sql sever 服务进行重启