zoukankan      html  css  js  c++  java
  • 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}driversjdbc中,将以下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即可。

  • 相关阅读:
    jvm性能调优---jstat的用法
    flume-ng+Kafka+Storm+HDFS 实时系统搭建
    proxool
    Shell实现跳板机,为什么用跳板机
    JUC回顾之-ThreadPoolExecutor的原理和使用
    java集合之ArrayList的实现原理
    JMeter性能测试介绍学习一
    基础知识《十三》深入浅出Java回调机制
    怎样将myeclipse里默认编码设置成utf-8
    《转》怎样看待比自己强的人
  • 原文地址:https://www.cnblogs.com/dqrcsc/p/12161283.html
Copyright © 2011-2022 走看看