• 由 “无法使用从远程表选择的 lob 定位符” 错误而引导出来的一系列问题解决方案


    周一上班遇到一个数据加工问题:无法使用从远程表选择的 lob 定位符,由于数据源表不是自己的,不能对源数据做修改,于是我打起了存储过程的主意

    我们公司的存过是分三步走,第一层是同步源数据,第二层是对一层的初加工,第三层则是细加工。由于问题出在第一层,字段不匹配,所以在理清了各

    个表之间的关系后,确定了修改字段数据类型的解决方案。(底层表在在第二层用到的地方太多了,由于一二层是对应关系,所以一修改了,二也得改,

    工程浩大啊!!!!)

    第一层表数据类型修改很简单,直接alter table *** modify (123,clob),没有报错!!!

    去第二层修改,同样用alter table *** modify (123,clob),立马报错:ORA-22858 数据类型的变更无效!!!(不清楚什么原因)

    因为甲方催的急,没时间去仔细分析原因,所以当时想了一个简单的办法:新建,替换!!!

    1、在原表中添加一个新的clob字段

    alter table *** add 123 clob;

    2、将原字段的值赋给新字段

    update *** set 123 = 321;

    3、删除原字段

    alter table *** drop column 321;

    4、修改新字段名

    alter table *** rename column 123 to 321;

    5、大功告成!!

    万幸的一点是,这张表数据量不是很大!!!数据量太大这个方法就不太适用了!!!

    总结:处理问题,一定要学会“曲线救国”!!!谢谢!!!

  • 相关阅读:
    Android实现资料收藏
    GPS(Global Positioning System)全球定位系统
    Android开发环境搭建全程演示(jdk+eclipse+android sdk)
    ADT在线安装
    简洁判断一个byte中有多少位为1的bit?
    tomcat部署java项目
    centos7把编译安装的服务通过systemctl管理
    ansible自动化部署
    redi通过哨兵sentinel实现主从切换
    redis实现集群加主从复制
  • 原文地址:https://www.cnblogs.com/wanghhe/p/7019072.html
Copyright © 2020-2023  润新知