kettle通过severice_name连接oracle数据源踩坑

最近在研究kettle做数据抽取核对,按照官网安装kettle后无法连接oracle

坑1:kettle 连接oracle的数据库名指的是sidname 而非severicename,前期一直使用severicename 如下始终报错

注意区分下:

SID:一个数据库可以有多个实例,SID是用来标识这个数据库内部每个实例的名字.

SERVICE_NAME:是这个数据库服务名。

我的测试服务器是一个实例,下挂了两个小库,只能通过severicename连接,且为pdb库。具体连接方式的不同如下:

XML 复制代码
jdbc:oracle:thin:@//host:port/service_name
jdbc:oracle:thin:@host:port:SID
//注意服务名,使用"/",这是与sid的区别

坑2:改为通过severicename连接oracle,odbc驱动版本问题

通过severicename连接oracle网上大家列了很多方式,这里不展开了,但我检查了服务器数据库版本和驱动,确保驱动版本版本一致,仍报错无法连接,按照网上方式会宝另一个错误:ORA-01005: null password given; logon denied

因为驱动版本没问题就没再更换,怀疑识别的用户名密码有误,又去oracle官网查了下12c的驱动,发现ojdbc8的驱动有两个,一个6M,一个3m,目前我使用的是6m的,而官网还有个3m的,我又换成了3m的,连接成功了

具体原因还是没有太明白,有大神了解的可以科普下,不知道是否是JDK版本和数据库驱动兼容性的问题。花费了一下午,真的服了。

相关推荐
Elastic 中国社区官方博客7 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
保定公民9 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol9 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白10 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
DBA大董12 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
ManageEngineITSM12 小时前
什么是CMDB?配置管理数据库的定义、作用与建设方法一文讲清
大数据·数据库·人工智能·资产管理·变更管理
IvorySQL12 小时前
PostgreSQL 日报|PG19 外键快速路径隐患已修复(8 月 23 日)
数据库·postgresql
Elastic 中国社区官方博客13 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
01传说13 小时前
redis开机自启脚本
数据库·redis·缓存