2017-07-25 25 views
0

我有一個觀點,這創造(ORACLE)

CREATE OR REPLACE FORCE VIEW "OPS$DTEPROD"."DTE_BLMB_TRD_ACCT_VW"  
       ("BB_TRD_ACCT", "DESCRIPTION", "ICI_TRD_ACCT") AS  
select rtrim(STRBK_BOOK_NAME) bb_trd_acct, 
     rtrim(STRBK_DESCRIPTION) description, 
     trading_acct ici_trd_acct 
from [email protected] b1 
     , dte_trading_acct 
where substr(rtrim(STRBK_BOOK_NAME),1,2)=ltrim(rtrim(fits_trading_Acct)) 
and  strbk_last_update_date = 
      (select max(strbk_last_update_date) 
       from [email protected] b2 
       where b2.strbk_book_number = b1.strbk_book_number) 

在封裝,當我編譯它爲我的錯誤

328/117 PL/SQL: ORA-04063: view "OPS$DTEPROD.DTE_BLMB_TRD_ACCT_VW" has errors

你能幫我找到原因嗎?

感謝

Errors for PACKAGE BODY RATES_2DTE:  

LINE/COL ERROR  
-------- -----------------------------------------------------------------  
328/1 PL/SQL: SQL Statement ignored  
328/117 PL/SQL: ORA-04063: view "OPS$DTEPROD.DTE_BLMB_TRD_ACCT_VW" has 
    errors  
+0

你能不能也告訴我們'顯示錯誤的輸出;'? –

+0

如果您運行創建視圖的select indepndent,它會運行嗎? – xQbert

+0

請檢查我的原始文章,我編輯它 – SamOl

回答

0

請執行與獲得列出的錯誤相同的用戶下列查詢:

Select * from user_errors where name like 'OPS$DTEPROD.DTE_BLMB_TRD_ACCT_VW'; 

這會給你的觀點的錯誤。您可以發佈輸出以供進一步調查。

問候 ABHI

+0

它顯示IO錯誤:套接字讀取超時 – SamOl

0

爲了解決這樣的問題,我與我們的DBA工作。只有他們可以從開發服務器訪問這個數據庫。在生產中,我們已經完成了一切

謝謝大家試圖幫助我

0

他們有兩種可能性: 1)由於另一名成員(@xQbert)建議 - 誰是用來創建視圖沒有用戶在分貝鏈接訪問表。

2)數據庫鏈接中使用的數據庫不可訪問。

解決方法: 1)請執行下列由正試圖從視圖中選擇相同的用戶聲明:

Select count(*) from [email protected] ; 

這應該給同樣的錯誤原來的錯誤。

我們要檢查是否讀取訪問目標表是否到位。

2)從服務器/命令提示符數據庫主機,在那裏創建的視圖上,執行以下操作:

tnsping spdn (or tnsping <database name usec by db link>) 

OR

sqlplus <Username>/<Password>@spdn (or <database name usec by db link>) 

我們要檢查,如果在DBLINK目標數據庫可達。

  • ABHI