本文目录
- oracle异常求助
- oracle 中的 exception when others then 捕获异常 在db2中怎么写
- Oracle未知异常问题,怎么解决
- C#OracleException无法抛出异常
- oracle怎么获取exception信息
- Oracle.DataAccess.Client.OracleException ORA-12154: TNS: 无法解析指定的连接标识符
- oracle 存储过程发生异常错误执行的exception有日志记录么
- oracle存储过程exception 后面的代码要不要end结束啊还是说exception后面的所有代码都属于它的呢
- Oracle的自定义异常问题,急
oracle异常求助
完全下载后重装 一、在oracle11G以前卸载oracle会存在卸载不干净,导致再次安装失败的情况,在运行services.msc打开服务,停止Oracle的所有服务。二oracle11自带一个卸载批处理。\app\Administrator\product\11.2.0\dbhome_1\deinstall\deinstall.bat运行该批处理程序将自动完成oracle卸载工作,最后手动删除\app文件夹(可能需要重启才能删除)运行过程中可能需要填写如下项:指定要取消配置的所有单实例监听程序[LISTENER]:LISTENER指定在此 Oracle 主目录中配置的数据库名的列表 [MYDATA,ORCL]: MYDATA,ORCL(运行慢,需等待)是否仍要修改 MYDATA,ORCL 数据库的详细资料? [n]: nCCR check is finished是否继续 (y - 是, n - 否)? [n]: y三、运行regedit命令,打开注册表。删除注册表中与Oracle相关内容,具体下:删除HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE目录。删除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services中所有以oracle或OraWeb为开头的键。删除HKEY_LOCAL_MACHINE/SYSETM/CurrentControlSet/Services/Eventlog/application中所有以oracle开头的键。删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。删除HKEY_CURRENT_USER/SOFTWARE/Microsoft/windows/CurrentVersion/Explorer/MenuOrder/StartMenu/Programs中所有以oracle 开头的键。删除HKDY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有含有Oracle的键。删除环境变量中的PATHT CLASSPATH中包含Oracle的值。删除“开始”/“程序”中所有Oracle的组和图标。删除所有与Oracle相关的目录,包括:(1)、c:\Program file\Oracle目录。(2)、ORACLE_BASE目录。(3)、c:\Documents and Settings\系统用户名、LocalSettings\Temp目录下的临时文件。
oracle 中的 exception when others then 捕获异常 在db2中怎么写
db2中类似oracle的异常捕获写法:举例如下:CREATE PROCEDURE OUT_LANGUAGE (...,OUT returnCode INTEGER, OUT returnMsg CHAR(32)) -- returnCode 返回执行中的的错误代码 -- returnMsg 返回执行中的的错误描述 SPECIFIC SQL_OUT_LANGUAGE LANGUAGE SQL BEGIN DECLARE SQLCODE INTEGER DEFAULT 0; DECLARE SQLSTATE CHAR(5) DEFAULT ´00000´; DECLARE errorLabel CHAR(32) DEFAULT ´´; ...... -- in case of no data found DECLARE CONTINUE HANDLER FOR NOT FOUND BEGIN SET returnCode = SQLCODE; -- 也可以设置为 SET returnCode = 0; 因为这个DECLARE是为了忽略NOT FOUND的执行结果 END; -- in case of SQL error DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN SET returnCode = SQLCODE; SET returnMsg = errorLabel; END;
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;
C#OracleException无法抛出异常
最笨的方法就是,每执行一个代码Debug一个数字,看看不抛错的时候,执行了些几句话 ps,不需要处理的错误 请不要catch,开废开销的,如果你catch还要继续抛,请直接写throw,不要写throw ex
oracle怎么获取exception信息
通过RAISE弹出框(调试时使用)
通过sqlcode , sqlerrm 这两个内置变量来查看,
例如:DECLARE --声明异常 some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition v_ErrorCode NUMBER; -- Variable to hold the er..
为了提高存储过程的健壮性,避免运行错误,当建立存储过程时应包含异常处理部分.
Oracle.DataAccess.Client.OracleException ORA-12154: TNS: 无法解析指定的连接标识符
TNS无法解析是Oracle操作里经常遇到的问题,原因有二:(1)Oracle服务器没有装好(一般不建议重装,因为Oracle卸载不完全是没法重装的)(2)TNS没有配置现在本文给出解决方案:现在先测试一下tns是否可以ping,成功的界面大致如下这里写图片描述(1)在oracle安装路径的tns配置文件里添加如下代码# tnsnames.ora Network Configuration File: d:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle configuration tools.ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORCL) ) )其中orcl是我的数据库名称,这个需要根据需要配置
oracle 存储过程发生异常错误执行的exception有日志记录么
一般我们会创建一张表用于记录所有异常信息,再写一个过程来处理(截取部分信息)并存储异常信息(包括发生异常的过程、触发器名称、异常信息、发生时间等),然后在整个数据库开发中,所有异常处理中调用该过程。这样可以随时查看那里出了问题。
oracle存储过程exception 后面的代码要不要end结束啊还是说exception后面的所有代码都属于它的呢
declare v varchar2(32);begin begin select dummy into v from dual where dummy = ’’; exception when others then dbms_output.put_line(’1’); end; dbms_output.put_line(’2’);end;可以自己试一下,把可能发生异常的代码放到begin end块中,exception后end前都属于异常执行范围,end后代码不在异常范围内。
Oracle的自定义异常问题,急
注释1声名了一个number类型的变量,总长7位,小数点后2位,名是annual_salazy注释2中的selectinto是不是将a.sal赋给了变量annual_salazy中注释3把annual_salazy的值作为函数的返回值。注释4exception是异常处理。当上面程序出现错误或select语句查不到记录时才执行。此函数总意思是:通过参数username调用了annual_incomec函数,查找emp表中名字为与参数一致的雇员的薪水(sal)。查到记录了返回该雇员的薪水;没查到则返回一个值空值。