2014-10-10 26 views
2

我有一個帶有Oracle 11g後端的ColdFusion 10應用程序。ORA-00942:表或視圖不存在(ColdFusion應用程序)

生產版本正常工作。最近,我讓Oracle DBA從Production中刷新Test數據庫。現在,我收到了ORA-00942: table or view does not exist錯誤。

當我使用SQL Plus並且查詢運行正常時,所有表都在那裏。我對目前要檢查什麼感到不知所措。跟蹤將我發送給在SQL Plus中正常運行的查詢。我錯過了什麼?

更新 - 2014年10月17日 我不知道這有什麼差別,但扔代碼行是第一個1瀏覽:

`<cfquery name="getWebMaster" datasource="xxxxtest"> 
    select * from users where secureuserid in (select secureuserid from hd_role where webmaster='Yes') 
    and userstatus='Active' and UserLevel='XXX/XXIT' 
</cfquery>` 

這意味着整個CFQUERY部分是錯誤,還是隻有第一行?順便說一句,我想我已經想出瞭如何嵌入代碼。感謝名單!

+2

我會檢查的第一件事是用戶名應用程序用於連接到數據庫。如果它與所有表所在的模式不同,則對查詢中的表的所有引用都必須包含模式名稱(或者所有表應具有公共同義詞,或者在建立連接後的第一個命令應爲'ALTER SESSION SET CURRENT_SCHEMA = correct_schema_name') – a1ex07 2014-10-10 17:10:20

+0

除數據外沒有任何變化。這兩個數據庫和代碼完全相同。 Thanx爲指針。我會試圖弄清楚。謝謝 – 2014-10-10 17:21:59

+0

*當我使用SQLPlus時* 1)您是否使用CF DSN使用的相同證書?如果不是,請首先進行測試。 2)如果它有效,你是否嘗試刪除並重新創建CF DSN? *從生產刷新測試數據庫* 3)確切地說,恢復的內容 - 僅限於數據 - 還是其他對象? – Leigh 2014-10-17 16:58:45

回答

3

我只能想到一件事。您在測試環境中用來運行應用程序/腳本的用戶以及特定用戶的權限 - 它錯過了某些權限,因此即使它們在那裏也看不到某些內容。

+0

當您調出登錄應用程序時會發生這種情況。 – 2014-10-10 17:24:07

+0

自10日起我一直在搞這個......我是由DBA確保數據源名稱是正確的,並且我正在查詢的表存在並被填充。我注意到的一件事是,在Application.cfc中闡述的目錄結構(Production解決了以前的問題)現在顯示出來了,我無法將其更改爲Test目錄結構。錯誤發生在index.cfm的顯示上,並且Application.cfc沒有看到(我知道),直到後來...我是一個非常新的CF人員。我確定目錄是這個問題,但不知道如何修復它 – 2014-10-14 20:36:08

+0

[Macromedia] [Oracle JDBC驅動程序] [Oracle] ORA-00942:表或視圖不存在源已建立,表在使用SQL * Plus時存在。 – 2014-10-15 17:03:06