zoukankan      html  css  js  c++  java
  • 使用Navicat迁移MySQL数据至Oracle时大小写原因报“表或视图不存在”问题处理

    使用Navicat提供的数据传输工具将JEECMSv9的MySQL的数据迁移至Oracle数据库,数据迁移成功表都存在,但是在程序启动时提示表或视图不存在。

    Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在
    
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
        at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
        at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
        at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
        at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:353)
    
        at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82)
        ... 63 more

    跟踪源码,发现是找不到“jc_task”表,但是在Oracle中这张表是存在的并包含数据。

    image

    但是奇怪的是表名上加了双引号,去掉双引号后提示“表或视图不存在”。

    image

    问题原因:

    参考:https://www.cnblogs.com/fuchen/p/5680478.html

    1、Oracle表和字段是有大小写的区别。Oracle默认是大写,如果我们用双引号括起来的就区分大小写,如果没有,系统会自动转成大写。
    2、Navicat传输数据时按照MySQL中的表名大小写状态进行传输,导致在Oracle中必须通过加双引号的方式进行操作。

    解决办法:

    Navicat数据传输工具的选项卡中提供了“转换对象名为小写/大写”的选项,勾选为大写再次进行数据传输即可。

    image

  • 相关阅读:
    Java attack
    Java attack
    Java attack
    Java attack
    Java attack
    Java attack -Java 中的集合
    Java attack
    迟到的《Cashflow》游戏感悟
    三读《富爸爸穷爸爸》
    安装vue开发环境→安装淘宝镜像的时候报错
  • 原文地址:https://www.cnblogs.com/xusweeter/p/9761753.html
Copyright © 2011-2022 走看看