但捕捉不到,报的错误是ORA-00942:表或视图不存在。
发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
请教一个判断语句。
有一个备份数据库B,在备份好后才会向我们开放,但是有时候这一天都不会开。
我有一个数据库A,在A上建了到数据库B的DBLINK。
在A上跑了一个应用,要用到B的数据,比如:
select * from all_tables@B
我要怎样判断数据库B是否已经可用,我试了用异常,如下:
declare
aa number(10);
begin
select count(*) into aa from all_tables@B where rownum <2;
exception
when others then
dbms_output.put_line( '数据库未准备好 ');
end;
但捕捉不到,报的错误是ORA-00942:表或视图不存在。
不知还有什么别的办法?请教。
------解决方案--------------------
首先判断db_link是否通了?
select sysdate from dual@B;
如果有返回值,说明通了。否则需要看看是什么问题不通,有可能是网络问题,有可能是tnsnames.ora没有配置好
如果有返回值,需要给远程数据库的你要访问的表在本地建立公共同义词的
如:
create publis synonym tabl_name for sys.tabl_name@B;
------解决方案--------------------
如楼上所说的,首先是看看你用 <@连接名> 这种方式是否有问题,包括权限;(你可以看看用B.all_tables的方式访问看看)如果没有问题,从user_tables里看看该表是否存在,然后才是记录数的比较.
------解决方案--------------------
dblink不好用时确实捕获不到异常的
我是用返回的 'ORA-00942:表或视图不存在 '来判断数据库是否连接准备好的(前提是肯定有连接的表)
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
基于MATLAB实现的云模型计算隶属度
”云”或者’云滴‘是云模型的基本单元,所谓云是指在其论域上的一个分布...
-
在linux上安装oracle11G必须在图形界面才能安装吗?纯命令行下,安装linux时没有安装图形界面!
安装了redhat 6.3系统,但是安装系统是...
-
请教 primary key 使用 Varchar2 与 Char 差别有人知道吗 ?
从以前就有这个疑问,但碍于开 Table 的 KEY通常几乎都是有规则的,且固...
-
关于外键的建立问题
比如说我建立下面两个表
create table user(
id bigint(10) premary key auto_increment,
username varch...
-
PLSQL 新电脑装了 11g, 开启后找不到可以连接的资料库清单><?
旧电脑 Oracle Client → C:Oracle,这个我直接开 Pl/SQL 再登入帐...
-
我在aix 5.3 上创建oracle10g监听报错
Configuring Listener:LISTENER
ServiceAliasException: Could not save Service Alias: ...
-
ORACLE update 问题 新手求解答
有三张表A B C
B表的部分数据 复制给A
B表跟C表降序排列后假设他是一一对应的关系
现在想把...
-
存储过程执行报无效数字
存储过程
CREATE OR REPLACE PROCEDURE UpdatePiecesChn(pieceidStr in varchar2,
...
-
CE_现金银行总行分行设定详解(案例)
2014-07-14 Created By BaoXinjian
一、摘要
1. 设定银行总行
设定银行总行基本资料
设定银...
-
一个简单的报错,麻烦看看
函数如下,提示报错行 是: return str1;我实在搞不懂,麻烦指教一下
create or replace function qdn_lks_fi...