Kettle如何连接SQL Server和问题处理

简介

Kettle(也称为 Pentaho Data Integration)是一款开源的 ETL(Extract, Transform, Load)工具,由 Pentaho 开发。ETL 是指从一个数据源(通常是数据库)中提取数据,进行转换,然后加载到目标系统中。Kettle 为数据集成和数据仓库开发提供了强大的工具和功能。

环境

kettle 版本: 7.1

数据库: sql sever 2022

系统环境: windows

kettle 连接 sql sever

  1. 打开 Spoon(Kettle 的图形化界面工具): 启动 Kettle 中的 Spoon 工具。

  2. 创建数据库连接: 在 Spoon 中,选择“View” > “Database Connections”以打开数据库连接视图。右键单击空白区域,选择“Create Connection”。

  3. 选择数据库类型: 在弹出的对话框中,选择数据库类型为“Microsoft SQL Server”。

  4. 填写连接信息: 输入以下连接信息:

  • Connection Name: 连接的名称,可以随意取。
  • Database Hostname: SQL Server 数据库的主机名或 IP 地址。
  • Database Port: SQL Server 数据库的端口,默认为 1433。
  • Database Name: 要连接的数据库名称。
  • Username: 数据库的用户名。
  • Password: 数据库用户的密码。
  1. 测试连接: 点击“Test”按钮,确保连接测试成功。
  2. 保存连接: 如果测试成功,点击“OK”按钮保存你的数据库连接。

遇到的问题

  1. 驱动问题
错误连接数据库 [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 下,重启进行测试

  1. SQL Server 提示不能通过 1433 端口登录

解决办法:

  • 打开 cmd 用 telnet localhost 1433 进行测试,如果无法连接表示 1433 端口还未打开
  • 开始菜单找到 ,点击运行
  • 对 MSSQLSERVER 的协议(本机数据库的实例名)、客户端协议启用 TCP/IP,再右键到 TCP/IP 协议,将 IP 和端口进行设置并且启用

  • 设置完成后,将 sql sever 服务进行重启
posted @ 2024-02-19 12:47  偶尔栖息  阅读(69)  评论(0编辑  收藏  举报