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命令行登陆成功
"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
最后点击测试。
如果有什么问题,可以给我留言。
原文:http://www.cnblogs.com/wanggs/p/5055078.html