代码之家  ›  专栏  ›  技术社区  ›  Moeb

是否可以从远程Oracle数据库读取CLOB?

  •  7
  • Moeb  · 技术社区  · 15 年前

    This answer 在一个问题上如此说

    ... 可以从远程数据库读取LONG,但不能读取CLOB

    我在网上找不到这方面的消息,是真的吗?这方面的任何文件或说明都会有所帮助。

    6 回复  |  直到 9 年前
        1
  •  5
  •   Nick Craver    15 年前

    ORA-22992号

    从错误手册:

    原因
    行动 :删除对远程表中LOB的引用。

    pulling the data over or creating a view 例如。

        2
  •  3
  •   Howd    9 年前

    @彼得伊尔弗里奇:当试图访问任何超过4000字节的CLOB时,这不会引发异常吗?

    select dbms_lob.substr@<link>((select <columnName> from dual@<link>), 4000, 1)  
      from <table>@<link>  
     where dbms_lob.getlength@<link>((select <columnName> from dual@<link>)) <= 4000;  
    

    通过数据链路读取CLOB(或BLOB)
    https://github.com/HowdPrescott/Lob_Over_DBLink

        3
  •  1
  •   podongfeng    13 年前

        4
  •  1
  •   Peter Ilfrich    12 年前

    如果 两个DB方案位于同一个Oracle实例中,您可以使用以下解决方法:

    select (select <columnName> from dual) <columnName> from <table>@<link>

    这将返回与访问本地LOB列相同的结果。

        6
  •  1
  •   Jon Heller TenG    7 年前

    oracle12.2最终增加了对 distributed LOBs

        7
  •  0
  •   F.Lazarescu    6 年前

    https://github.com/HowdPrescott/Lob_Over_DBLink

    适用于clobs>4000。

    只测试CLOB!