對於jdbc 連接數據庫時,url兼容兩種模式如下:
1、"jdbc:oracle:thin:@127.0.0.1:1512:pdb"
2、"jdbc:oracle:thin:@127.0.0.1:1512/pdb"
第1中模式端口後使用的是“:” 那麼pdb代表的是數據庫的實例名 一般情況數據庫都是多實例的
第2中模式端口後使用的是“/” 那麼pdb代表的是數據庫的服務名
如果使用第1中模式,將pdb錯誤的填爲服務名就會報錯,顯示錯誤,kettle就是因爲這個原因報錯。
查看生成的url信息確實使用了:
解決方法:
主機名稱、端口填空
數據庫名稱按照如下格式填寫如圖:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME=dvs1)))
驗證:URL變爲了這種形式 jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME=dvs1)))