ORA-00980如何解决

php中文网
发布: 2016-06-07 16:47:09
原创
5638人浏览过

ORA-00980: synonym translation is no longer valid, ORA-00980:同义词转换不再有效

ora-00980: synonym translation is no longer valid
 
ora-00980:同义词转换不再有效
 
tom大师对该error的解释:?p=100:11:0::::p11_question_id:7095288486502
 

that means you lost some object/access to some object when you did your move.  That error
 simply means "synonym is still here, but the object it points to is inaccessible".  It
 could be inaccessible due to a missing grant, or due to the object not being there.
 
You need to find out what synonym it is, query the data dictionary to figure out what
 object it points to and figure out why you no longer have access to that object.
 
ops$tkyte@ORA920> create synonym s for t;
 Synonym created.
 
ops$tkyte@ORA920> select * from s where rownum = 1;
 
C
 ----------
 1
 
ops$tkyte@ORA920> drop table t;
 Table dropped.
 
ops$tkyte@ORA920> select * from s where rownum = 1;
 select * from s where rownum = 1
              *
 ERROR at line 1:
 ORA-00980: synonym translation is no longer valid
 

 

ops$tkyte%ORA11GR2> !oerr ora 980
 00980, 00000, "synonym translation is no longer valid"
 // *Cause: A synonym did not translate to a legal target object. This
//        could happen for one of the following reasons:
 //        1. The target schema does not exist.
 //        2. The target object does not exist.
 //        3. The synonym specifies an incorrect database link.
 //        4. The synonym is not versioned but specifies a versioned
 //            target object.
 // *Action: Change the synonym definition so that the synonym points at
 //          a legal target object.
 
query dba_objects and dba_users to see if there is another object/schema out there that overlaps the namespace please.
 

总而言之,TOM的意思是说该同义词已经失效。至于为什么失效,请看上面的解释。

企业网站通用源码1.0
企业网站通用源码1.0

企业网站通用源码是以aspcms作为核心进行开发的asp企业网站源码。企业网站通用源码是一套界面设计非常漂亮的企业网站源码,是2016年下半年的又一力作,适合大部分的企业在制作网站是参考或使用,源码亲测完整可用,没有任何功能限制,程序内核使用的是aspcms,如果有不懂的地方或者有不会用的地方可以搜索aspcms的相关技术问题来解决。网站UI虽然不是特别细腻,但是网站整体格调非常立体,尤其是通观全

企业网站通用源码1.0 3
查看详情 企业网站通用源码1.0

我在使用DBlink的时候发生ORA-00980 synonym translation is no longer valid错误。我很疑惑,如果了解请告诉我,谢谢!
 情况:
 1)在PL/SQL 中写SQL语句insert into table (.....) select .... from view@dblink没有问题,能够正常执行,并且数据也可以插入。
 2)在Procedure里把上述SQL写入后,编译时报错,,ORA-00980 synonym translation is no longer valid。
 3)我在本地数据库建立一个view, create or replace view XXX as  select .....from from view@dblink,成功。
 4)在procedure里的SQL修改为如下insert into table (.....) select .... from XXX,能够成功编译。
 
为什么?难道在procedure里不能用dblink来读取view吗?

我是通过创建中间视图,来解决过程编译报错00980的问题。如果有更好的方法解决该问题,请告知,谢谢!

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号