为什么不能通过 DBLink 发送 Oracle XMLType?

发布于 2024-07-17 07:07:06 字数 180 浏览 9 评论 0原文

我有一些调用远程过程以发送 XMLType 的 PLSQL 代码。 不过,它的作用是将 XMLType 划分为过程接受的多个 varchar2(4000) 参数。 远程过程通过 DBLink 调用。

为什么 XMLType 必须拆分? 此限制是否适用于最新的数据库版本(10g)?

I have some PLSQL code that calls a remote procedure in order to send an XMLType. What it does, though, is to devide the XMLType into multiple varchar2(4000) parameters, which the procedure accepts. The remote procedure is called via a DBLink.

Why does the XMLType have to be split? Is this restriction applicable to recent database versions (10g)?

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

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

发布评论

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

评论(3

旧人哭 2024-07-24 07:07:06

因为sys.xmltype是用户定义的类型。

您可能会收到 PLS-00453 - 对象表或用户定义上不允许远程操作。

可能对所有数据库版本(包括 10g 和 11g)都有限制。

Because sys.xmltype is a user defined type.

Probably, you are getting PLS-00453 - remote operations not permitted on object tables or user-defined.

It`s restiction probably for all database versions (include 10g and 11g).

叹梦 2024-07-24 07:07:06

在大多数情况下,Oracle 不支持句柄通过数据库链接发送用户定义类型或 LOB。 XMLType 可以存储为 LOB 或 UDT,并且可能以相同的方式在内存中处理,因此它不起作用是可以理解的。

此问题讨论了一般问题并提供了一些可能的解决方法。

Oracle does not support handle sending user-defined types or LOBs over database links in most situations. XMLType can be either stored as a LOB or a UDT, and probably treated in memory the same way, so it is understandable it wouldn't work.

This question discusses the general issue and has some possible workarounds.

紫南 2024-07-24 07:07:06

这是 Oracle 长期存在的(而且愚蠢的)问题。

超过一定大小的 LOBS 无法成功传输,您必须将大数据分成较小的块,然后重新组合它们。

我不敢相信 Oracle 可以不修复这个问题,我从 Oracle 8 开始就意识到这个问题,但更新的版本可能已经修复了这个错误。

It is a long standing (and stupid) problem from Oracle.

LOBS that are over a certain size are not transferred sucessfully, you must chunk big data into smaller chunks and re-compose them later.

I cannot believe that Oracle can get away with not fixing this, I have been aware of the problem since Oracle 8, but more recent versions might have the bug fixed.

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