首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

MyBatis Oracle ORA-00942 表不存在:同一 SQL MySQL 正常的排查清單

     編輯:程式設計綜合問答

現象

MyBatis Mapper:select * from t_menu where pid = #{id}。MySQL 正常,Oracle 報 ORA-00942: table or view does not exist,但 PL/SQL 執行同 SQL 成功。

排查清單

  1. Schema/用戶不同:Oracle 表屬於 SCOTT,連接用戶為 APP_USER,需 SELECT * FROM SCOTT.T_MENU 或創建同義詞 CREATE SYNONYM T_MENU FOR SCOTT.T_MENU。
  2. 大小寫敏感:Oracle 未加雙引號創建表默認大寫 T_MENU,MyBatis XML 若寫 t_menu 經驗證器可能轉換失敗,建議 XML 統一大寫或配置 mapUnderscoreToCamelCase。
  3. JDBC 驅動版本:ojdbc6/7/8.jar 需匹配 Oracle 版本與 JDK 版本,缺包導致元數據獲取異常。
  4. MyBatis 配置:<setting name="useColumnLabel" value="true"/> 可能影響列名解析。|
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved