码迷,mamicode.com
首页 > 数据库 > 详细

Kettle连接Oracle 12c

时间:2015-12-17 20:39:40      阅读:3831      评论:1      收藏:0      [点我收藏+]

标签:

  1. 安装Oracle
    我用的是Win10 64位,官网下载64位 Oracle 12c,两个文件。
    解压第一个文件之后安装,但是安装到一半错误,提示缺失文件。后来发现原来两个文件要单独解压,解压后根据目录合并在一起。
    再次安装,安装到88%卡住不动了。我以为安装又失败了,就关了,但是发现可以用,就这么用吧。
  2. 创建用户
    Oracle数据库分为CDB和PDB,他们之间的关系,想了解可以查相关资料,不在此详述。
    简单来说CDB是一个数据库容器,PDB是可插拔数据库。
    默认登陆为CDB,只能创建COMMON用户。
    COMMON用户必须以 c##或C##开头。
    show con_name; --查看容器
    select name ,cdb from v$database;
    create user c##kettle identifed by kettle; --创建common用户
    alter seesion set container=PDBORCL; --切换
    select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    alter PLUGGABLE database PDBORCL open;
    alter session set container=PDBORCL;
    
    show con_name;
    create user kettle identifed by kettle; --创建普通用户用户
    alter session set container=CDB$ROOT;
    
    lsnrctl status --dos命令行执行
    
    --修改安装目录下文件
    --D:\app\Oracle\product\12.1.0\dbhome_3\NETWORK\ADMIN\tnsnames.ora
    PDBORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = pdborcl)
        )
      )
    
    tnsping pdborcl --dos命令行执行
    
    sqlplus kettle/kettle@pdborcl --dos命令行登陆成功

     

  3. 配置Kettle
    jdbc连接cdb数据库时,url兼容以下2种模式:

      "jdbc:oracle:thin:@192.168.75.131:1521:oracle12c"

      "jdbc:oracle:thin:@192.168.75.131:1521/oracle12c"

    jdbc连接pdb数据库时url必须使用:" jdbc:oracle:thin:@192.168.75.131:1521/oracle12c"格式,
    若使用传统格式" jdbc:oracle:thin:@192.168.75.131:1521:oracle12c"则会报一下错误:

    java.sql.SQLException: Listenerrefused the connection with the following error:

    ORA-12505, TNS:listener does notcurrently know of SID given in connect descriptor
    Kettle 如果用Native(JDBC)方式连接Oracle,默认是第一种方式,是无法连接上的
    故我们采用JNDI方式连接:
    打开Keetle安装目录以下文件,并输入以下内容:
    D:\Program Files\data-integration\simple-jndi\jdbc.properties

    kettle/type=javax.sql.DataSource 
    kettle/driver=oracle.jdbc.driver.OracleDriver 
    kettle/url=jdbc:oracle:thin:@localhost:1521/pdborcl
    kettle/user=kettle
    kettle/password=kettle

    保存文件后配置Keetle
    技术分享
    最后点击测试。

    如果有什么问题,可以给我留言。

Kettle连接Oracle 12c

标签:

原文地址:http://www.cnblogs.com/wanggs/p/5055078.html

(2)
(2)
   
举报
评论 一句话评论(1
2017-11-10 09:19:45
Mac这样设置还是连不上12c数据库啊

错误连接数据库 [kettle] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database

javax.naming.NoInitialContextException: Cannot instantiate class: org.osjava.sj.SimpleContextFactory [Root exception is java.lang.ClassNotFoundException: org.osjava.sj.SimpleContextFactory]
Cannot instantiate class: org.osjava.sj.SimpleContextFactory


回复
 (2)
 (2)
1条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!