kettle入门笔记(二) 之 kettle报的坑爹错误:Error occured while trying to connect to the database

1 引言

在用kettle开发时常会出现 Error occured while trying to connect to the database 错误,但是仔细观察日志,引起这个错误的原因不尽相同。这个错误看起来很简单,但是有时候越简单的错误越没有耐心改,尤其是忙的时候,不小心填错了某个参数导致这个错误但是自己感觉没问题却跑不成功,这是最烦人的。这时候需要淡定、不妨上网查查,错误也许就可以愉快的解决了。下面给出这错误的更细节错误的不同发生情况。

2 示例

有个很简单的ktr脚本(当前kettle版本3.0.4),如下图:

表输入正常的配置信息如下:

下图 kettle安装文件目录是有jar包的情况:

按照上述配置,ktr脚本是可以正常执行完的。

1 首先来看 缺少ojdbc jar包的错

下图是ojdbc包被删除的情况:

日志信息:

重点是

exception while loading class oracle.jdbc.driver.OracleDriver。 意思是加载类 oracle.jdbc.driver.OracleDriver 异常 这很有可能就是jar包出问题。

2 下面是ip地址输入错误

日志给出的错误信息:

Io异常大概意思是:网络适配器不能建立连接。

3 数据库名错误

日志报错的情况:

An error occurred, processing will be stopped:  Error occured while trying to connect to the database

2014/11/18 23:34:40 - 表输出.0 - ERROR (version 3.0.4, build 53 from 2008/06/24 18:14:00) : Listener refused the connection with the following error:

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was:127.0.0.1:1521:orc

大概意思:监听由于下面的错误拒绝了连接:TNS(oracle 服务端和客户端通信协议)监听不知道当前的sid(数据库的唯一标示),这个sid在连接描述器中给出,使用这个描述器的客户端是127.0.0.1:1521:orc

4 端口号不正确

日志情况:

错误与ip地址不准确一样:

5 用户名或密码错误

用户名或者密码错误,日志信息都是如下:

大概意思是:无效的用户名或密码,登陆被拒绝

6 运行服务器没有权限访问远程数据库

从运行服务器ping 远程数据库机器ip:

从运行服务器telnet 远程数据库端口:

都是通的,但是表输出是这个 的脚本会报错:

logon rejected 拒绝登陆。运行脚本的机器没有访问数据库的权限导致此错误。

在这里 是表输出的数据库 设置了黑白名单 而运行服务器不在它的白名单里 导致此错误

3 总结

遇到类似的此类错误,需要淡定仔细的观察日志,使用排除法,才能快速的定位并解决掉问题。

时间: 2024-12-15 07:10:50

kettle入门笔记(二) 之 kettle报的坑爹错误:Error occured while trying to connect to the database的相关文章

ETL技术工具kettle入门笔记(一) 之kettle连接oracle rac 报listener does not currently know of sid错误的解决

1 问题现象: 之前做的kettle 连接某个oracle数据库 做表抽取 脚本的表输入信息如下图: 执行时(脚本上传到linux机器 用sh命令执行的)表输入报的错误信息: 但是在机器里面用sqlplus 命令登录却可以成功: 2 解决过程: 出现问题后,一开始联系  源数据系统 厂家 看是不是他们那边数据库做了 限制. 经过他们查看,他们那边没有做限制.这边也查不到原因 后来参照别的系统 发现 134.64.197.198 是rac一个节点的浮动地址  对应的sid是 iprandb1.而i

Linux中mysql进入命令行报错:MYSQL ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.99.192' (111)

场景:在Linux中安装mysql01和mysql02,通过VIP虚出一个VIP=192.168.99.192,mysql01为主ip为192.168.99.153,mysql02为备机ip为192.168.99.154 此时VIP在mysql01上通过 mysql01上连接VIP :mysql -h 192.168.99.192 -P 3306   结果是可以正常进入mysql命令行: 通过mysql02上远程连接VIP 会在界面上报错:mysql error 2003(HY000):Can'

Kettle 入门笔记1

一,KETTLE介绍 Kettle是 (Extract, Transform and Load抽取.转换.加载)一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.其中,Spoon是Kettle中的一个组件,其他组件有PAN,CHEF,Encr和KITCHEN等. Spoon通过图形化的页面,方便直观的让你完成数据转换的操作. 二.Kettle下载 可到开源官网(https://community.hds.com)下载: Data Inte

nodeJs入门笔记(二)

js中window通常是全局变量 global 是node.js里的全局变量 node中能访问的对象一般都是 global的 属性 global 对象属性 process 用于描述当前Node 进程状态的对象,提供了一个与操作系统的简单接口. process.argv :命令行参数数组,第一个元素是 node,第二个元素是脚本文件名,从第三个元素开始每个元素是一个运行参数 console.log(process.argv); $ node argv.js 1991 name=byvoid --v

Shader 入门笔记(二) CPU和GPU之间的通信

渲染流水线的起点是CPU,即应用阶段. 1)把数据加载到显存中 2)设置渲染状态,通俗说这些状态定义了场景中的网格是怎样被渲染的. 3)调用DrawCall,一个命令,CPU通知GPU.(这个命令仅仅会指向一个需要被渲染的图元列表,并不会包含材质信息,因为在上一阶段已经完成) CPU流水线 GPU从CPU那里得到渲染命令后,就会进行一系列流水线操作,最终把图元渲染到屏幕上. 几何阶段: 顶点着色器/曲面细分着色器/几何着色器 裁剪(Clipping):将不在视野范围内的顶点裁减掉,这阶段可配置的

SpringBoot入门笔记(二)、使用fastjson

1.添加fastjson配置 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency> 2.重写configureMessageConverters @Override public void configureMessageConve

Linux 下,mysql数据库报无法登陆错误:ERROR 1045 (28000): Access denied for use

今天在别人的服务器上登录mysql发现无法登陆(Mysql别人实现安装好的) 密码和用户名都是正确的,但登录后报如下错误: ERROR 1045 (28000): Access denied for user ‘admin’@'localhost’ (using password: YES) 尝试了加入-h和-port也无法登陆,最后只能重新修改了.注--该方法也可以用于当忘记数据库密码时,找回数据库密码用 如下是我执行过程,完全执行后,可以顺利登录数据库:linux下的执行脚本: Java代码

mac 安装mysql 报错“ERROR 2002 (HY000): Can not connect to local MySQL server through socket &#39;/tmp/mysql.sock&#39; (2)” 解决办法

首先安装 homebrew 再 brew install mysql 之后连接 mysql 无论是登录还是修改初始密码都会报如下的错误 ERROR 2002 (HY000): Can not connect to local MySQL server through socket '/tmp/mysql.sock' (2) 运行如下解决:参考 http://www.thinksaas.cn/group/topic/347978/ unset TMPDIR mysql_install_db --v

远程连接MySql的时候报1130的错误

用Navicat for MySQL远程连接MySql的时候报1130的错误 ERROR 1130: Host 192.168.3.100 is not allowed to connect to this MySQL server 无法连接远程数据库用户权限问题.结果这样子操作mysql库,即可解决.在本机登入mysql后,更改"mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称'