oracle异常怎么处理,oracle常见异常

oracle触发器对于异常怎么处理

对于异常都是将异常信息插入到数据表里面,然后程序界面显示出来。

成都创新互联公司专注于中大型企业的网站设计制作、成都网站设计和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户上千余家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注成都品牌网站建设和互联网程序开发,在前进的路上,与客户一起成长!

Oracle 常见错误处理

ORA-28040: No matching authencation protocol

1、问题复现:Spring boot 应用启动时候正常,但是页面访问后台接口,程序再访问数据库时,控制台报错如下:没有匹配的身份验证协议

Caused by: java. sql. SQLExceptiona ORA-28040: No matching authentication protocol

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java 112)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java: 331)

....

2、产生原因:当时环境是:Java jdk 1.8 + Spring boot ,在开发环境时是 Oracle 11g,此时运行正常,后面到测试环境换成 Oracle 12C,就发生上面的错误,经过检查发现原来是 .jar 文件里面打了两个不同版本的 Oracle 驱动。

3、解决方式:直接用压缩工具打开 .jar 文件,然后手动删除多余的 ojdbc14-x.x.x.jar 文件,只留下 ojdbc8 版本的驱动即可。

OracleOraDb11g_home1TNSListener服务启动后停止

1、问题复现:有时候连接 Oralce 的时候发现连接不上,然后打开 "services.msc" 服务面板发现 xxxxTNSListener 监听服务没有启动,当手动启动监听服务的时候,它弹框提示:“本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”

2、产生原因:Oracle 数据库通常都会提供远程访问,比如小张电脑上安装了 Oralce 数据库,小李、小刘就可以直接访问小张的Oracle。Oracle 开启远程访问,需要在配置文件中设置本机 ip 地址,这样其它人才能通过 IP 访问,然而当 IP 在某些情况下发生变化时,比如切换了网络,或者是动态 IP 等情况,Oracle 监听器监听的 IP 与计算机实际 IP 就会不一致,然后就会发生上面的错误。

3、解决方式:找到 Oracle 数据库安装目录下的 listener.ora 文件,比如 C:appThinkproduct11.2.0dbhome_1NETWORKADMINlistener.ora。然后修改其中监听的 IP 为 Oralce 安装的计算机 IP 地址,比如下面的 192.168.3.195。最后再次启动监听服务即可正常。

Oracle未知异常问题,怎么解决

当与一个异常错误相关的错误出现时,就会隐含触发该异常错误。用户定义的异常错误是通过显式使用 RAISE 语句来触发。当引发一个异常错误时,控制就转向到 EXCEPTION块异常错误部分,执行错误处理代码。

对于这类异常情况的处理,步骤如下:

1、在PL/SQL 块的定义部分定义异常情况:

异常情况  EXCEPTION;

2、RAISE 异常情况;

3、在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。

例:更新指定员工工资,增加100;

DECLARE   v_empno employees.employee_id%TYPE :=empno;   no_result  EXCEPTION;BEGIN   UPDATE employees SET salary = salary+100 WHERE employee_id = v_empno;   IF SQL%NOTFOUND THEN      RAISE no_result;   END IF;EXCEPTION   WHEN no_result THEN       DBMS_OUTPUT.PUT_LINE('数据更新语句失败了!');   WHEN OTHERS THEN      DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);END;

1、弹出错误框:

示例代码:

declare

v_count number;

begin

select count(*) into v_count from dept;

if v_count 10 then

raise_application_error(-20001,'数量小于10');

end if;

end;

执行结果:

2、控制台显示:

示例代码:

declare

v_count number;

my_exp exception;

begin

select count(*) into v_count from dept;

if v_count 10 then

raise my_exp;

end if;

exception

when my_exp then

dbms_output.put_line('数量小于10');

when others then

dbms_output.put_line('其他异常');

end;

执行结果:

PS:ORACLE 用户自定义异常小例子:

CREATE OR REPLACE PROCEDURE test_Exception_byLeejin

(

ParameterA IN varchar,

ParameterB IN varchar,

ErrorCode OUT varchar --返回值,错误编码

)

AS

/*以下是一些变量的定义*/

V NUMBER;

V nvarchar();

V NUMBER;

APP_EXP EXCEPTION; --自定义异常

BEGIN

ErrorCode :='';

IF (ParameterA=ParameterB) THEN

ErrorCode := 'ParameterA = ParameterB';

RAISE APP_EXP; -- 抛出异常

END IF;

EXCEPTION

WHEN APP_EXP THEN --在处理异常

RAISE_APPLICATION_ERROR(-,ErrorCode);

WHEN OTHERS THEN

RAISE_APPLICATION_ERROR(-,'未知异常');

END;

Win10系统安装oracle10g导致程序异常终止怎么办

以下操作供参考:完全卸载oracle11g步骤:

1、 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。

2、 开始->程序->Oracle - OraHome81->Oracle Installation Products-> Universal Installer,单击“卸载产品”-“全部展开”,选中除“OraDb11g_home1”外的全部目录,删除。

5、 运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。

6、 运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口(以oracle或OraWeb开头的键)。

7、 运行refedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口。

8、 删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。

9、 删除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs中所有以oracle开头的键。

10、删除HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有含有Oracle的键。

11、我的电脑--属性--高级--环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定。

12、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标。

13、删除所有与Oracle相关的目录(如果删不掉,重启计算机后再删就可以了)包括:

1.C:\Program file\Oracle目录。

2.ORACLE_BASE目录(oracle的安装目录)。

3.C:\WINDOWS\system32\config\systemprofile\Oracle目录。

4.C:\Users\Administrator\Oracle或C:\Documents and Settings\Administrator\Oracle目录。

5.C:\WINDOWS下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。

6.C:\WINDOWS下的WIN.INI文件中若有[ORACLE]的标记段,删除该段。

14、如有必要,删除所有Oracle相关的ODBC的DSN

15、到事件查看器中,删除Oracle相关的日志 说明: 如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。

ORA-12560显示“Oracle错误”如何解决?

1、开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。

2、开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID。

3、win+r,输入regedit回车,在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID。

产生原因:

监听服务没有起来、database instance没有起来、注册表问题。  

Oracle Database:

是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用。


当前文章:oracle异常怎么处理,oracle常见异常
文章链接:http://hbruida.cn/article/dscecec.html