【问题标题】:Oracle compile package: table has errorsoracle编译包:表有错误
【发布时间】:2016-06-08 07:27:10
【问题描述】:

我的数据库有一个大问题。

我有一个 Oracle 9i 数据库和一个 Oracle 11g 数据库。

我的 9i 数据库中有一个包含存储过程的包。里面有一个非常简单的选择,例如:

select * from my_table_on_my_11g_database@MYDBLINK;

当我尝试编译包含此查询的包时,出现以下错误:

[Error] ORA-04063 (337: 20): PL/SQL: ORA-04063: table "my_table_on_my_11g_database" has errors

当我尝试在编辑器中使用 Toad 执行查询时,它工作正常。 所以,我不知道是什么问题。 是关于角色、权利的?

我们刚刚安装了这个 11G 的数据库,在我们有一个 9i 数据库之前,它运行良好。我猜我错过了一些补助金?

感谢您的任何想法。

C.C.

【问题讨论】:

  • ORA-04063: table/view has errors 原因:尝试执行存储过程或使用有错误的视图。对于存储过程,问题可能是语法错误或对其他不存在的过程的引用。对于视图,问题可能是视图的定义查询中对不存在的表的引用。也可以是引用不存在或不可访问类型的表。 操作:修复错误和/或根据需要创建引用的对象。
  • 我的桌子上没有错误。当我在 sql 编辑器中执行相同的选择时,它可以工作。
  • 您是否检查过新数据库中的 dblink 已正确指向与旧数据库相同的位置? Toad 是连接到同一个数据库还是仍然连接到旧数据库?
  • 更改的数据库是 11g 的。我的包裹在我的 9i 上,没有改变。
  • 您是否使用与编译程序相同的用户运行独立查询?另外,DBlink 是私有的还是公共的?

标签: oracle oracle11g dblink


【解决方案1】:

终于成功了。我创建了一个新的公共 DBLink 并且它可以工作。 可能是因为 DBLIk 是以前用旧数据库创建的,我不知道。 感谢您的回答。

【讨论】:

    猜你喜欢
    • 2023-02-21
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多