kettle连接DM7(达梦7)数据库

0.需求背景

应项目国产化适配需要,后续需要将数据迁移至DM7数据库中,调研kettle连接DM7

1.kettle连接DM7的相关操作

1.1 DM7驱动安装

kettle连接DM7,本质上是通过JDBC连接,因而需要将DM7的JDBC驱动放到${kettle_home}\lib\目录中。DM7的JDBC驱动可以到DM7的安装目录中${dm_home}\drivers\jdbc\中,将以下jar文件复制到kettle的lib目录:

DM7JdbcDriver15.jar
DM7JdbcDriver16.jar
DM7JdbcDriver17.jar

1.2 配置kettle数据库连接

  • 1.在kettle中新建一个数据库连接,连接类型选择:Generic database
  • 2.自定义连接URL,填写:jdbc:dm://${ip}:5236/DMSERVER
  • 3.自定义驱动类名称:dm.jdbc.driver.DmDriver
  • 4.用户名:SYSDBA(自定义)
  • 5.密码:对应用户名的密码
  • 6.连接方式:保留默认的Native(JDBC)即可。

1.3 测试连接

点击测试,查看是否连接成功。

2.可能遇到的问题

2.1 测试连接失败,找不到dm.jdbc.driver.DmDriver类

可能是在安装DM驱动时,没有重启kettle。因为kettle会在启动过程中加载lib中的所有依赖库,所以,如果是在kettle已经启动的情况下复制驱动类,并不会立即加载的。此时,只需要重启下kettle,让其重新加载DM驱动即可。

2.2 表输入中提示找不到表、或者无法解析字段的错误

类似于MySQL中的数据库,DM7数据库中的每张表是归属于某个schema(模式)的。所以在表输入/表输出组件中,一定要通过schema去选定要操作的表。而不要直接从表的子树中选定要操作的表,不然DM无法找到要操作的表。当然,在表输入中,直接手动编写SQL也是可以的,在from子句中指定${schema}.${table_name},明确指定表的所属schema即可。

posted on 2020-01-07 14:21  某人的喵星人  阅读(3390)  评论(0编辑  收藏  举报