zoukankan      html  css  js  c++  java
  • 由 “无法使用从远程表选择的 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、大功告成!!

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

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

  • 相关阅读:
    java之Arrays.asList
    MySql索引
    Maven私服搭建
    基于Docker的GitLab搭建
    ubuntu新建组合用户命令不管用
    Linux 安装jdk
    消息队列
    Netty之大动脉Pipeline
    Netty之大名鼎鼎的EventLoop
    Netty之揭开BootStrap 的神秘面纱
  • 原文地址:https://www.cnblogs.com/wanghhe/p/7019072.html
Copyright © 2011-2022 走看看