Oracle 的 web 应用程序中显示的 ORA 错误

标签: Oracle
发布时间: 2017/4/15 18:20:30
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我与我的 Oracle Web 应用程序有一个错误。 当我在我的浏览器中键入 URL"http://mydomain.com/pls/docs"时,我就会出现此错误︰

Estado de 说明书下载

说明书下载德尔西印度档案馆 falló。ORA-01403︰ 未找到数据。ORA-01403︰ 未找到数据

并将产生此错误的代码是︰

PROCEDURE LEP_DESCARGA_ARCHIVO IS

      lv_FilePath VARCHAR2(32000);
      lv_FileName VARCHAR2(32000);
  BEGIN

lv_FilePath := SUBSTR(owa_util.get_cgi_env('PATH_INFO'),2);


     SELECT name INTO lv_FileName
     FROM table_file
     WHERE UPPER(name) like UPPER(lv_FilePath);
     wpg_docload.download_file(lv_FileName);

EXCEPTION

  WHEN OTHERS THEN

    HTP.htmlopen;
    HTP.headopen;
    HTP.title('Archivo Descargado');
    HTP.headclose;
    HTP.bodyopen;
    HTP.header(1, 'Estado de Descarga');
    HTP.print('Descarga del archivo ' || lv_filePath || ' falló.');
    HTP.print(SQLERRM);
    HTP.bodyclose;
    HTP.htmlclose;
END LEP_DESCARGA_ARCHIVO;

问题是错误的错误显示太多的信息。LEP_DESCARGA_ARCHIVO是重要的在我的网站的另一个进程。

我有要配置 Oracle 中不出现此错误的顺序?我的意思是我不想我键入的 URL 的情况下会出现此错误︰

https://mydomain.com/pls/docs/servlets/index.html
**Error:** Descarga del archivo servlets/index.html falló. ORA-01403: no data found

h t t p s : / / m y d o m a i n . c o m / p l s / d o c s /
**Error:** Descarga del archivo falló. ORA-01403: no data found                        

h t t p s : / / m y d o m a i n . c o m / p l s /d o c s / s e r v l e t s/
**Error:** Descarga del archivo servlets/ falló. ORA-01403: no data found 

解决方法 1:

原因有两个,会显示此错误。

首先,此查询不返回任何数据︰

SELECT name INTO lv_FileName
  FROM table_file
 WHERE UPPER(name) like UPPER(lv_FilePath);

这就是为什么会出现异常。有没有 name 表中 TABLE_FILE ,匹配您的变量 lv_filename 。您是否要修复此错误是由你决定。

此错误将显示第二个原因是因为这条线︰

HTP.print(SQLERRM);

你是输出它。如果你不想要输出的错误,你不必。

如果你想,它可能更正常显式捕获这个错误和用它,做什么。

begin
   ...
   select name into ...
   ...

exception 
   when no_data_found then
      -- do something
   when others then
      -- do something else
end;
官方微信
官方QQ群
31647020