1. 程式人生 > >[Java Idea] 關於在navicat(等外部工具?)建立表,JDBC使用時提示“ORA-00942: 表或檢視不存在”的解決方案

[Java Idea] 關於在navicat(等外部工具?)建立表,JDBC使用時提示“ORA-00942: 表或檢視不存在”的解決方案

如圖:

在Navicat新建了表UserDetail,但是查詢時提示”表或檢視不存在“,並且無論使用sqlplus還是PL SQL Developer均提示”表或檢視不存在“。

解決方案:

經過查詢瞭解到,外部工具在建立Oracle表時會預設新增雙引號(""),所以我們在使用第三方工具直接建表時,建立成功的表的名字其實是添加了雙引號的,所以我們在使用時也需要格外注意新增雙引號。即:

之後再進行嘗試,發現仍然報相同的錯誤:

經過進一步查證,其實並不是解決方法有誤,而是工具建表還有一個隱藏的屬性,即表名區分大小寫。

進一步修改:

執行結果:

成功。

另外需要提出的一點是,當我們使用表的列名時,仍然要注意新增雙引號和大小寫。

題外話

或許Navicat已經給了我們區分大小寫的提示?

Navicat建的表表名顯示都是能顯示小寫字母的,而使用sql語言建的表表名智慧顯示全大寫,這或許就已經告訴我們這一特性了吧。

目前DataGrip經實踐未見有該問題,其他工具不知是否如此,有待觀察。

 2018.8.28