历史版本7 :Oracle数据连接常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文介绍 Oracle 数据连接 中一些报错及解决方案。

2. 示例编辑

2.1 取消勾选显示Oracle所有表选项

设计器菜单栏「文件>选项>高级」下默认勾选「显示Oracle所有表」,在连接 Oracle 时容易出现性能问题,建议用户取消勾选后再连接。

1599616834384523.png

2.2 Got minus one from a read call

问题描述:

数据连接失败,报错:Got minus one from a read call

1603179045829725.png

原因分析:

当连接数据库时,是通过连接池的机制进行连接的,数据库参数:max-session决定连接池的大小,而应用同样也有一个参数,这个参数表示它连接数据库连接池所占用的最少资源。

例如:总共有 10 个应用需要连接数据库,如果每个应用连接数据库的最小连接数为 10 ,那么10个应用总共会有 100 个连接,这样就要求数据库连接池的 max-session 必须大于100,否则就会报Got minus one from a read call的错误。

解决方案:

1)查看 processes 和 sessions 参数

SQL 语句分别为:

show parameter processes
show parameter sessions

2)修改 processes 和 sessions 值

SQL 语句分别为:

alter system set processes=300 scope=spfile;
alter system set sessions=335 scope=spfile;

3)重启 Oracle

SQL 语句为:

shutdown immediate;
startup;

2.3 No matching authentication protocol

问题描述:

Oracel 连接报错:ORA-28040: No matching authentication protocol;

原因分析:

驱动版本不适配。

解决方案:

点击下载:ojdbc7.jar,把 ojdbc7.jar 放到工程的webapps\webroot\WEB-INF\lib下,删除原来的 ojdbc14.jar 并重启工程。

2.4 数据连接成功,数据库查询显示:数据库连接失败!

问题现象:

Oracle 数据连接成功,但数据查询是表出不来,显示“数据库连接失败!”,日志中报错为“严重:09:58:46 AWT-EventQueue-0 ERROR [standard] java.lang.RuntimeException: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK”

11.2.0.1 (1).png

解决方案:

点击下载:orai18n.jar,把 orai18n.jar 放到工程的webapps\webroot\WEB-INF\lib下,并重启工程。

2.5 数据连接偶发失败

问题现象:

正常运行工程,忽然全部 oracle 数据库连接不上,服务器上 telnet ,网络是通的,不是密码错误,本地用数据库工具也能连上。重启后能够恢复。

问题原因:

数据连接时,使用的驱动是内置驱动,该驱动主要适配 jdk1.4 的。

解决方案:

如果遇到以上问题,建议升级驱动。