调试BusinessObjects Data Services 的Demo中一个简单错误

 

环境: ods   源用户   target  目标用户

 

DI的例子Populating the Customer Dimension from a Relational Table 中遇到一个问题,直接execute失败,但是在debug状态下却可以执行成功。

 

下面是直接execute的报错信息:

4140 5784 JOB 2010-3-9 17:34:06 The initial environment locale <zho_cn.cp936> has been coerced to <Unicode (UTF-16)> ().

4140 5784 ORA_LIB 2010-3-9 17:34:06 Loaded Oracle Client library <OCI.DLL> is in the path: <d:/oracle/product/10.2.0/db_1/bin/OCI.DLL>.

4140 5784 JOB 2010-3-9 17:34:06 Reading job <aca86db3_4d8f_4d91_9a49_094d4dea36f8> from the repository; Server version is <12.1.1.0>; Repository version is

4140 5784 JOB 2010-3-9 17:34:06 <12.1.0.0000>.

4140 5784 JOB 2010-3-9 17:34:06 Current directory of job <aca86db3_4d8f_4d91_9a49_094d4dea36f8> is <D:/Program Files/Business Objects/BusinessObjects Data

4140 5784 JOB 2010-3-9 17:34:06 Services/bin>.

4140 5784 JOB 2010-3-9 17:34:06 Starting job on job server host <20100108-1137>, port <3500>.

4140 5784 JOB 2010-3-9 17:34:06 Job <JOB_CustDim2> of runid <2010030917340641405784> is initiated by user <SYSTEM>.

4140 5784 JOB 2010-3-9 17:34:06 Processing job <JOB_CustDim2>.

4140 5784 JOB 2010-3-9 17:34:06 Initializing transcoder for datastore <ODS_DS_2> to transcode between engine codepage<Unicode (UTF-16)> and datastore codepage

4140 5784 JOB 2010-3-9 17:34:06 <<DEFAULT>>

4140 5784 JOB 2010-3-9 17:34:06 Initializing transcoder for datastore <Target_DS> to transcode between engine codepage<Unicode (UTF-16)> and datastore codepage

4140 5784 JOB 2010-3-9 17:34:06 <<DEFAULT>>

4140 5784 JOB 2010-3-9 17:34:06 Optimizing job <JOB_CustDim2>.

4140 5784 JOB 2010-3-9 17:34:06 Job <JOB_CustDim2> is started.

4140 5784 WORKFLOW 2010-3-9 17:34:06 Work flow <WF_CustDim2> is started.

220 3776 DATAFLOW 2010-3-9 17:34:07 Process to execute data flow <DF_CustDim2> is started.

220 3776 JOB 2010-3-9 17:34:07 Initializing transcoder for datastore <ODS_DS_2> to transcode between engine codepage<Unicode (UTF-16)> and datastore codepage

220 3776 JOB 2010-3-9 17:34:07 <<DEFAULT>>

220 3776 JOB 2010-3-9 17:34:07 Initializing transcoder for datastore <Target_DS> to transcode between engine codepage<Unicode (UTF-16)> and datastore codepage

220 3776 JOB 2010-3-9 17:34:07 <<DEFAULT>>

220 3776 DATAFLOW 2010-3-9 17:34:07 Data flow <DF_CustDim2> is started.

220 3776 DATAFLOW 2010-3-9 17:34:07 Cache statistics determined that data flow <DF_CustDim2> uses <0> caches with a total size of <0> bytes. This is less than(or

220 3776 DATAFLOW 2010-3-9 17:34:07 equal to) the virtual memory <1609564160> bytes available for caches. Statistics is switching the cache type to IN MEMORY.

220 3776 DATAFLOW 2010-3-9 17:34:07 Data flow <DF_CustDim2> using IN MEMORY Cache.

220 3776 DATAFLOW 2010-3-9 17:34:07 Data flow <DF_CustDim2> is terminated due to error <70300>.

220 3776 DATAFLOW 2010-3-9 17:34:07 Process to execute data flow <DF_CustDim2> is completed.

4140 5784 WORKFLOW 2010-3-9 17:34:07 Work flow <WF_CustDim2> is terminated due to an error <70300>.

4140 5784 JOB 2010-3-9 17:34:07 Job <JOB_CustDim2> is terminated due to error <70300>.

 

 

---------------------------------------------------------------------------------------------

 

220 3776 DBS-070300 2010-3-9 17:34:07 |Dataflow DF_CustDim2|Reader Query

220 3776 DBS-070300 2010-3-9 17:34:07 SQL submitted to Oracle Server <orcl> resulted in error <ORA-00942: 表或视图不存在

220 3776 DBS-070300 2010-3-9 17:34:07 >. The SQL submitted is <INSERT /*+ APPEND */ INTO "TARGET"."CUST_DIM" ( "CUST_ID" , "CUST_CLASSF" , "NAME1" , "ADDRESS" ,

220 3776 DBS-070300 2010-3-9 17:34:07 "CITY" , "REGION_ID" , "ZIP" )

220 3776 DBS-070300 2010-3-9 17:34:07 SELECT  "ODS_CUSTOMER"."CUST_ID"  CUST_ID ,  "ODS_CUSTOMER"."CUST_CLASSF"  CUST_CLASSF ,  "ODS_CUSTOMER"."NAME1"  NAME1 ,

220 3776 DBS-070300 2010-3-9 17:34:07 "ODS_CUSTOMER"."ADDRESS"  ADDRESS ,  "ODS_CUSTOMER"."CITY"  CITY ,  "ODS_CUSTOMER"."REGION_ID"  REGION_ID ,

220 3776 DBS-070300 2010-3-9 17:34:07 "ODS_CUSTOMER"."ZIP"  ZIP

220 3776 DBS-070300 2010-3-9 17:34:07 FROM "ODS"."ODS_CUSTOMER" "ODS_CUSTOMER"

220 3776 DBS-070300 2010-3-9 17:34:07 >.

4140 5784 DBS-070300 2010-3-9 17:34:07 |Dataflow DF_CustDim2|Reader Query

4140 5784 DBS-070300 2010-3-9 17:34:07 SQL submitted to Oracle Server <orcl> resulted in error <ORA-00942: 表或视图不存在

4140 5784 DBS-070300 2010-3-9 17:34:07 >. The SQL submitted is <INSERT /*+ APPEND */ INTO "TARGET"."CUST_DIM" ( "CUST_ID" , "CUST_CLASSF" , "NAME1" , "ADDRESS" ,

4140 5784 DBS-070300 2010-3-9 17:34:07 "CITY" , "REGION_ID" , "ZIP" )

4140 5784 DBS-070300 2010-3-9 17:34:07 SELECT  "ODS_CUSTOMER"."CUST_ID"  CUST_ID ,  "ODS_CUSTOMER"."CUST_CLASSF"  CUST_CLASSF ,  "ODS_CUSTOMER"."NAME1"  NAME1 ,

4140 5784 DBS-070300 2010-3-9 17:34:07 "ODS_CUSTOMER"."ADDRESS"  ADDRESS ,  "ODS_CUSTOMER"."CITY"  CITY ,  "ODS_CUSTOMER"."REGION_ID"  REGION_ID ,

4140 5784 DBS-070300 2010-3-9 17:34:07 "ODS_CUSTOMER"."ZIP"  ZIP

4140 5784 DBS-070300 2010-3-9 17:34:07 FROM "ODS"."ODS_CUSTOMER" "ODS_CUSTOMER"

4140 5784 DBS-070300 2010-3-9 17:34:07 >.

 

 

根据SQL submitted to Oracle Server <orcl> resulted in error <ORA-00942: 表或视图不存在 判断,可能出现二种情况:

1、源表或源视图不存在

2、没有读取目标表或者insert目标表的权限

 

但是我想原来在创建的时候已经给odstarget赋予权限了啊,难道target需要select ods. ODS_CUSTOMER的权限???

 

报着试试看的心情,于是在sqlplus下面,执行grant select on ods.ods_customer to target; 命令,然后再执行JOB,成功!!!

 

呵呵~~~

你可能感兴趣的:(workflow,insert,2010)