为什么 Oracle SQL Developer 中的包和视图有时即使在编译时也会出现错误?

发布于 2024-09-07 11:30:57 字数 165 浏览 8 评论 0原文

有时,当我在 Oracle SQL Developer 中浏览视图或包时,它们旁边有一个红色图标,表明存在编译错误。这似乎是随机发生在编译时没有任何错误或警告的对象上。

即使使用红色图标,它们仍然可以继续工作,但这很令人困惑,让我想知道我是否遗漏了一些东西。我该如何找出这些对象被标记为有问题的原因?

Sometimes when I browse views or packages in Oracle SQL Developer they have a red icon next to them, indicating that there was a compile error. This seems to randomly happen to objects that compile without any errors or warnings.

They continue to work even with the red icon, but it's confusing and makes me wonder if I'm missing something. What can I do to find out why these objects are being marked as having problems?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

野心澎湃 2024-09-14 11:30:58

我也见过同样的情况;大多数情况下,子过程被修改并需要编译。

I have seen the same; most of the time when a sub procedure was modified and required compilation.

北方。的韩爷 2024-09-14 11:30:58

Oracle SQL Developer 并不是软件工程中最好的部分。总的来说,我认为甲骨文应该只做他们能做的好事,那就是数据库;)这么说只是为了表明我不会太担心此类故障。

我自己没有看到这个问题,但我可以想象当这个包使用的数据库对象(例如表)被更改时会发生这种情况。即使包仍然可以编译,oracle 也会以某种方式标记它们。在 jdbc 中,您将在第一次调用包时收到“包的现有状态已被丢弃”消息。只是一个猜测,这可能只是一个错误,我不会想太多,看看他们的 java 产品的总体质量;)

Oracle SQL Developer is not the finest bit of SW engineering. In general i think oracle should just do what they can do good, that is databases ;) Only saying this to indicate that i would not worry to much about such glitches.

I have not seen that problem myself, but i could imagine that this happens when a database object (e.q a table) this package is using has been altered. Even through the package still compiles, oracle somehow marks them. In jdbc, you would get an 'existing state of package has been discarded' message on the first call to the package. Just a guess, it might just be an error, i would not wonder to much, looking at the quality of their java products in general ;)

⊕婉儿 2024-09-14 11:30:58

Oracle 将即时重新编译无效的包 - 这就是为什么无效的包通常可以正常工作。

正如其他人指出的那样,如果任何引用的对象被更改,包将变得无效。该包可能会也可能不会干净地编译 - 这取决于对象的更改方式。

Oracle will recompile invalid packages on the fly - that's why invalid packages will often work properly.

As others have pointed out, packages will become invalid if any referenced object is altered. The package may or may not compile cleanly - it depends on how the object is altered.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文