2017-07-25 73 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