You Asked
1.在数据库中的概念 同义词(synonym)是指向其它数据库表的数据库指针。
Hi Tom,
I run Oracle 7.3 for years in Window NT machine with an C++ application and it work
fine.
I recently updated my Oracle to 9i in Windows 2000 to my new machine (different
machine). After Imported the database from my old machine to a new one my application
wrote in C++ no longer work and came up with an error
*********
ERROR:
CDBException Generated.
ORA-00980: synonym translation is no longer valid
Option value changed.
Please close and Restart Application.
***************
Thanks. your answer is greatly appreciated.
David
and we said...
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
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:7095288486502
本文讨论了在将Oracle数据库从旧机器迁移到新机器后,使用C++应用程序时出现的synonym无效错误。解释了可能的原因,并提供了通过查询数据字典和重新创建synonym来解决问题的方法。
1729

被折叠的 条评论
为什么被折叠?



