在ORACLE提取SQLSERVER的表报ORA-600 [HO define: Long fetch]

在ORACLE提取SQLSERVER的表报ORA-600 [HO define: Long fetch]ORACLE 通过 DBLINK 提取 SQLSERVER 数据 单表或单视图有 2 个及以上字段的字段类型为 VARCHAR MAX 的表 将报 ORA 600 HOdefine Longfetch 错误 ora 00600interna arguments hodefine long

问题现象:

        上午配置了11G RAC到SQLSERVER的DBLINK,具体可以参见 ORACLE 11G RAC 访问SQLSERVER-CSDN博客 ,可以正常的访问SQLSERVER的表,

    from fschk_info@pacsdblink t

where t."cardNo"=''

就报错:

ORA-00600: internal error code, arguments: [HO define: Long fetch], [l, [, [, [], [l, [l, [l, [l, [l, [l, [

具体见下图:

问题分析:

        select (*) from fschk_info@pacsdblink t where t."cardNo"='';都没有问题,

        select t."cardNo",t."checktype",t."itemName" from fschk_info@pacsdblink t where t."cardNo"='';

        也是没有问题

        select t."cardNo",t."checktype",t."categoryName" 

        from fschk_info@pacsdblink t where t."cardNo"='';

        也就是,t."itemName",t."categoryName"  这两个字段不同时出现,就没有问题

        

        检查字段定义:

        原来 itemName,categoryName 这两个字段类型为 long,而ORACLE在一个表中只允许有一个字段为LONG类型,因此,同时查询多个LONG字段,就会报这个 ORA-600 [HO define :long fetch]的错误,当然,在ORACLE本身是不可能创建这种表,只有来自于其他非ORACLE的库,才会出现这种情况,该报错,已经在ORACLE MOS上已经有文档描述,具体见:

问题解决:

         如果不修改源端的定义,就只能一次查询不超过一个LONG字段。

        根本的解决办法,就是修改 源端,不要使用LONG类型。

        经过分析,发现源端是一个视图,源表对应的字段为VARCHAR(MAX),修改视图定义中两个字段:

convert(varchar(400),substring(itemName,1,400)),

convert(varchar(400),substring(categoryName,1,400)),

之后,最终定义如下:

     

之后,再去执行查询,不再报错:

  

好了,按照惯例:为了方便交流,我建立了一个微信群:水煮数据库,主要交流日常工作中用到的数据库问题,包含但不限于:ORACLE,PG,MYSQL,SQLSERVER,OB,TIDB,达梦,TDSQL,OPENGAUSS,人大金仓,GBASE等等,如果有兴趣交流,可以加我微信:zq, 我可以拉你入群。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/cqsztech/article/details/

今天的文章 在ORACLE提取SQLSERVER的表报ORA-600 [HO define: Long fetch]分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-21 20:01
下一篇 2024-12-21 19:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/92331.html