ORA-00942 when creating external table under 10g with AQ
I have an application that runs with AQ. The front-end queues up batch-type
tasks in a queue. When one particular kind of message is dequeued, it
initiates a data load. That load requires the creation of an external
table.
The schema in question is owned by user BL (bulkload). The queue
is owned by BLB (bulkload batch), primarily to simplify some of the
rules needed by the resource manager in order to limit the total CPU
a batch process can consume. The BLB user has full access to the
BL schema, along with the following rights:
CREATE TYPE
CREATE TABLE
CREATE SEQUENCE
CREATE PROCEDURE
CREATE VIEW
CREATE SYNONYM
CREATE SEQUENCE
ALTER SESSION
CREATE SESSION
QUERY REWRITE
CREATE ANY CONTEXT
EXECUTE_CATALOG_ROLE
CREATE MATERIALIZED VIEW
CREATE ANY DIRECTORY
DROP ANY DIRECTORY
The table creation works fine under 9.2.0.8 (our current required
version). However the application generates an ORA-00942 table or view does
not exist when run under 10g (10.2.0.1 and 10.2.0.3).
The following statement is the problem:
CREATE TABLE bulkload33 (
field1 VARCHAR2(2000),field2 VARCHAR2(2000),field3 VARCHAR2(2000))
ORGANIZATION EXTERNAL (
TYPE oracle_loader DEFAULT DIRECTORY EXT_100
ACCESS PARAMETERS ( RECORDS DELIMITED BY "\r\n"
CHARACTERSET 'WE8ISO8859P1'
BADFILE EXT_100:'bulkload_bad.csv'
LOGFILE EXT_100:'bulkload_log.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"' MISSING FIELD VALUES ARE NULL REJECT ROWS WITH ALL NULL FIELDS (
field1 CHAR(2000),field2 CHAR(2000),field3 CHAR(2000),field4 CHAR(2000)))
LOCATION ('bulkload.csv')
) REJECT LIMIT UNLIMITED PARALLEL;
To clarify, the preceding statement, when handled by the process
for a queue message, failes with an ORA-00942.
Note that I can issue the command directly, as BLB or SYS, against
the BL schema with no problems. Further, as user BLB or SYS, I can do
the following:
CREATE OR REPLACE PROCEDURE dotest
IS
l_sql varchar2(2000);
BEGIN
l_sql := 'CREATE TABLE bulkload33 (
field1 VARCHAR2(2000),field2 VARCHAR2(2000),field3 VARCHAR2(2000))
ORGANIZATION EXTERNAL (
TYPE oracle_loader DEFAULT DIRECTORY EXT_100
ACCESS PARAMETERS ( RECORDS DELIMITED BY "\r\n"
CHARACTERSET ''WE8ISO8859P1''
BADFILE EXT_100:''bulkload_bad.csv''
LOGFILE EXT_100:''bulkload_log.csv''
FIELDS TERMINATED BY '',''
OPTIONALLY ENCLOSED BY ''"'' MISSING FIELD VALUES ARE NULL REJECT ROWS WITH ALL NULL FIELDS (
field1 CHAR(2000),field2 CHAR(2000),field3 CHAR(2000),field4 CHAR(2000)))
LOCATION (''bulkload.csv'')
) REJECT LIMIT UNLIMITED PARALLEL';
EXECUTE IMMEDIATE l_sql;
END;
show errors
EXEC dotest
Does anyone have any ideas of why this doesn't work under 10g? Metalink
has yielded no clues so far.
Thanks.
Define "has full access to the BL schema" given that it is impossible to grant access rights, in Oracle, by schema. What was done and how was it done?
My guess is that the privs were granted in a role, rather than explicitly, as is required for PL/SQL.
Similar Messages
-
Ora-00942 when creating time dimension
hi All,
I am new to data warehouse, i have created a date dimension " date_dim " in a target location, it has created a corresponding mapping "date_dim_map" in mappings section.
But when i try to deploy the dimension i get error ora-00942 table or view does not exist.
I get the same error when i try to deploy the corresponding map created by this dimension.
any ideas what the problem could be.
regardsoops got it had to deploy the corresponding table first.\
-
ORA-00939 when creating XML table with Virtual Columns
Getting error on creating table with VIRTUAL COLUMNS:
Error at Command Line:4 Column:31
Error report:
SQL Error: ORA-00939: too many arguments for function
00939. 00000 - "too many arguments for function"
Without VIRTUAL COLUMNS works fine.
Where to start?
Is it possible to add Virtual Columns after a table is created?
CREATE TABLE TDS_XML OF XMLType
XMLSCHEMA "http://xmlns.abc.com/tds/TDSSchemaGen2.xsd"
ELEMENT "TDSTestData"
VIRTUAL COLUMNS
TESTID AS (
XMLCast(
XMLQuery('declare default element namespace "http://xmlns.abc.com/tds/TDSSchemaGen2.xsd"; /TDSTestData/TestID' PASSING OBJECT_VALUE RETURNING CONTENT) AS VARCHAR2(32)
)SQL*Plus: Release 11.2.0.2.0 Production on Mon Apr 30 20:17:29 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for 64-bit Windows: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
SQL>victor_shostak wrote:
Figured, Virtual Columns work only for Binary XML.They are only supported, currently, for Binary XML. -
Error while creating external table
Hi i tried to create external table. The table is created but while selecting that table it is throwing below errors
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04040: file Countries1.txt in EXT_TABLES not found
ORA-06512: at "SYS.ORACLE_LOADER", line 19I've created temp directory in window under oracle directory " C:\oracle\product\10.2.0\temp"
In the temp directory i've a text file countries1.txt
the text file has the below information
ENG,England,English
SCO,Scotland,English
IRE,Ireland,English
WAL,Wales,WelshI've connected to system user and created one directory and granted the read and write permissions to user SCOTT.
SQL> create or replace directory ext_tables as 'C:\oracle\product\10.2.0\temp\';
Directory created.
SQL> grant read,write on directory ext_tables to scott;
Grant succeeded.The creation of external table query is
CREATE TABLE countries_ext (
country_code VARCHAR2(5),
country_name VARCHAR2(50),
country_language VARCHAR2(50)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_tables
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
country_code CHAR(5),
country_name CHAR(50),
country_language CHAR(50)
LOCATION ('Countries1.txt')
PARALLEL 5
REJECT LIMIT UNLIMITED;And the error is
SQL> select *from countries_ext;
select *from countries_ext
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04040: file Countries1.txt in EXT_TABLES not found
ORA-06512: at "SYS.ORACLE_LOADER", line 19
SQL> Please help me in thisYou are missing something. Most probably the file does not exists in your specified path. This is working in my 10.2.0.3
Step1: Check the file is actually there.
C:\oracle\product\10.2.0>mkdir temp
C:\oracle\product\10.2.0>cd temp
C:\oracle\product\10.2.0\temp>dir
Volume in drive C is C_Drive
Volume Serial Number is 8A93-1441
Directory of C:\oracle\product\10.2.0\temp
07/30/2011 12:00 PM <DIR> .
07/30/2011 12:00 PM <DIR> ..
07/30/2011 12:00 PM 79 countries1.txt
1 File(s) 79 bytes
2 Dir(s) 50,110,582,784 bytes free
C:\oracle\product\10.2.0\temp>type countries1.txt
ENG,England,English
SCO,Scotland,English
IRE,Ireland,English
WAL,Wales,Welsh
C:\oracle\product\10.2.0\temp>Step 2: Creating the directory object.
SQL> show user
USER is "SYS"
SQL> SELECT * FROM v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
SQL> create or replace directory ext_tables as 'C:\oracle\product\10.2.0\temp';
Directory created.
SQL> grant read,write on directory ext_tables to scott;
Grant succeeded.
SQL>Step 3: Table definition.
C:\>sqlplus scott@orclsb/tiger
SQL*Plus: Release 10.1.0.4.2 - Production on Sat Jul 30 12:04:24 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> CREATE TABLE countries_ext (
2 country_code VARCHAR2(5),
3 country_name VARCHAR2(50),
4 country_language VARCHAR2(50)
5 )
6 ORGANIZATION EXTERNAL (
7 TYPE ORACLE_LOADER
8 DEFAULT DIRECTORY ext_tables
9 ACCESS PARAMETERS (
10 RECORDS DELIMITED BY NEWLINE
11 FIELDS TERMINATED BY ','
12 MISSING FIELD VALUES ARE NULL
13 (
14 country_code CHAR(5),
15 country_name CHAR(50),
16 country_language CHAR(50)
17 )
18 )
19 LOCATION ('Countries1.txt')
20 )
21 PARALLEL 5
22 REJECT LIMIT UNLIMITED;
Table created.
SQL> SELECT * FROM countries_ext;
COUNT COUNTRY_NAME
COUNTRY_LANGUAGE
ENG England
English
SCO Scotland
English
IRE Ireland
English
COUNT COUNTRY_NAME
COUNTRY_LANGUAGE
WAL Wales
Welsh -
KUP-01005 error when selecting external table
Hi All,
My name is arun. I am having trouble resolving the following error. I tried to google, search oracle forum but no avail. I would really appreciate some help? I hope someone point me to the right direction with this problem. Thank you.
Scenario :
I have done the following :
1. Created the external directories using a user account(KDEV199). However by default its owned by SYS user.
2. Created the table necessary for selection. This was done by user account(KDEV199)
3. I have granted the folder privileges owned by oinstall:oracle where the 2 physical files exists. Thus all the files is owned by oracle. This was done at OS layer.
4. I have created 2 files necessary to extract data & read in oracle. This was done at OS layer.
The problem is that i have the following when i try to select the table :
SQL> select * from TEXN_IGM_MST;
select * from TEXN_IGM_MST
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-00554: error encountered while parsing access parameters
KUP-01005: syntax error: found "minussign": expecting one of:
"double-quoted-string, identifier, single-quoted-string"
KUP-01007: at line 7 column 10
This script used to create the table :
--Create External Table
CREATE TABLE texn_igm_mst
COMP_NO CHAR(2),
POL_NO CHAR(10),
WRITING_AGENCY_NO_1 CHAR(10),
WRITING_AGENT_NO_1 CHAR(10),
WRITING_AGENCY_NO_2 CHAR(10),
WRITING_AGENT_NO_2 CHAR(10),
POL_STS_CDE CHAR(4),
STS_CHNG_DT DATE,
POL_DTE DATE,
PAY_UP_DTE DATE,
PAY_TO_DTE CHAR(10),
MATURE_DTE DATE,
PAY_MODE_CDE CHAR(2),
PAY_METHOD_CDE CHAR(1),
MODAL_PREM_AMT NUMBER(15,2),
POL_CUR CHAR(2),
NFO_CDE CHAR(1),
DIVD_OPTION_CDE_1 CHAR(1),
DIVD_OPTION_CDE_2 CHAR(1),
OTHER_OPTION_CDE_1 CHAR(1),
OTHER_OPTION_CDE_2 CHAR(1),
RESTRICT_CDE CHAR(20),
NEXT_MODAL_PREM NUMBER(15,2),
SUSPEND_CDE CHAR(1),
EXTRACT_DTE DATE,
REASON_CDE CHAR(3),
LINE_OF_BUSS CHAR(1),
BILL_TO_DTE CHAR(10),
DUE_DAY NUMBER(3),
DAY_USE CHAR(1),
PAR_TYPE CHAR(1),
ISSUE_STATE CHAR(2),
MED_CDE CHAR(1),
RACE_CDE CHAR(1),
ADMIT_CDE CHAR(1),
REPT_STATE CHAR(2),
COLL_OFF CHAR(2),
WRITING_AGENCY CHAR(10),
LAST_ANN_PROC CHAR(3),
TIMESTAMP DATE,
SPND_EFF_DT DATE,
SPND_TRMN_DT DATE,
SPND_USER_ID CHAR(8),
CMPLN_AGT_ID CHAR(10),
TOTAL_CWA DECIMAL(17),
TOTAL_CWA_DT DATE,
DELIVERY_DT DATE,
REINSURED_CDE CHAR(1),
SERV_AGENCY CHAR(10),
ST_CODE CHAR(1),
NFO_RULE CHAR(1),
CSTAT_REASN_CD CHAR(2),
REJ_REASN_CD CHAR(2)
ORGANIZATION EXTERNAL
TYPE oracle_loader
DEFAULT DIRECTORY external_dir_clmlog
ACCESS PARAMETERS
records delimited by newline
BADFILE external_dir_clmlog:'VILFPM1.BAD'
LOGFILE external_dir_clmlog:'VILFPM1.LOG'
fields terminated by '!'
missing field values are null
--Column and format setting
COMP_NO,
POL_NO,
WRITING_AGENCY_NO_1,
WRITING_AGENT_NO_1,
WRITING_AGENCY_NO_2,
WRITING_AGENT_NO_2,
POL_STS_CDE,
STS_CHNG_DT CHAR date_format DATE Mask "yyyy-mm-dd",
POL_DTE CHAR date_format DATE Mask "yyyy-mm-dd",
PAY_UP_DTE CHAR date_format DATE Mask "yyyy-mm-dd",
PAY_TO_DTE,
MATURE_DTE CHAR date_format DATE Mask "yyyy-mm-dd",
PAY_MODE_CDE,
PAY_METHOD_CDE,
MODAL_PREM_AMT,
POL_CUR,
NFO_CDE,
DIVD_OPTION_CDE_1,
DIVD_OPTION_CDE_2,
OTHER_OPTION_CDE_1,
OTHER_OPTION_CDE_2,
RESTRICT_CDE,
NEXT_MODAL_PREM,
SUSPEND_CDE,
EXTRACT_DTE CHAR date_format DATE Mask "yyyy-mm-dd",
REASON_CDE,
LINE_OF_BUSS,
BILL_TO_DTE,
DUE_DAY,
DAY_USE,
PAR_TYPE,
ISSUE_STATE,
MED_CDE,
RACE_CDE,
ADMIT_CDE,
REPT_STATE,
COLL_OFF,
WRITING_AGENCY,
LAST_ANN_PROC,
TIMESTAMP CHAR date_format DATE Mask "yyyy-mm-dd-hh24.mi.ss.ffffff",
SPND_EFF_DT CHAR date_format DATE Mask "yyyy-mm-dd",
SPND_TRMN_DT CHAR date_format DATE Mask "yyyy-mm-dd",
SPND_USER_ID,
CMPLN_AGT_ID,
TOTAL_CWA,
TOTAL_CWA_DT CHAR date_format DATE Mask "yyyy-mm-dd",
DELIVERY_DT CHAR date_format DATE Mask "yyyy-mm-dd",
REINSURED_CDE,
SERV_AGENCY,
ST_CODE,
NFO_RULE,
CSTAT_REASN_CD,
REJ_REASN_CD
LOCATION (external_dir_clmxcom:'VILFPM1.DAT')
DB version :
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
OS version :
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 1
Linux KAITLSDS01 2.6.32.12-0.7-default #1 SMP 2010-05-20 11:14:20 +0200 x86_64 x86_64 x86_64 GNU/Linux
---------------------------------------------------------------------------------------------------------------------------------------Pl see MOS Doc 302672.1 (Select From External Table Gives ORA-29913 ORA-29400 KUP-554 KUP-1005)
Srini -
Invalid number error when using external table
Hello.
I have a problem with creating an external table with number field.
My txt file looks like:
11111|text text|03718
22222|text text text|04208
33333|text|04215
I try to create external table like:
create table table_ex (
id varchar2(5),
name varchar2(100),
old_id number(5))
organization external (Type oracle_loader default directory dir
access parameters(
RECORDS DELIMITED BY NEWLINE
fields terminated by '|'
(id, name, old_id))
location ('file.txt'));
When i create the table and run select i get this in log file:
Field Definitions for table TABLE_EX
Record format DELIMITED BY NEWLINE
Data in file has same endianness as the platform
Rows with all null fields are accepted
Fields in Data Source:
ID CHAR (255)
Terminated by "|"
Trim whitespace same as SQL Loader
NAME CHAR (255)
Terminated by "|"
Trim whitespace same as SQL Loader
OLD_ID CHAR (255)
Terminated by "|"
Trim whitespace same as SQL Loader
error processing column OLD_ID in row 1 for datafile
/dir/file.txt
ORA-01722: invalid number
Whats the problem?
Any idea?
Thanks
Message was edited by:
DejanHTry this:
create table table_ex
id varchar2(5),
name varchar2(100),
old_id number
organization external
(Type oracle_loader default directory dir access parameters
( RECORDS DELIMITED BY NEWLINE fields terminated by '|'
(id CHAR(5),
name CHAR(100),
old_id CHAR(5)
location ('file.txt')
I have removed the length of Number field and added length in characters later
Aalap Sharma :)
Message was edited by:
Aalap Sharma -
ORA-19007 when coping a table with an xml type in it to a new schema in the
ORA-19007 when coping a table with an xml type in it to a new schema in the same database.
Hi all,
When I copy a table with an xml type in it to a new schema in the same database I get an ora-19009.
The setup is as follows I have a schema a with table TABLE_WITH_XMLTYPE where data is:
CREATE
TABLE TABLE_WITH_XMLTYPE
FOLDER_ID NUMBER (10, 0) NOT NULL,
SEARCH_PROPERTIES XMLTYPE ,
CONSTRAINT TABLE_WITH_XMLTYPE PK PRIMARY KEY (FOLDERID) USING INDEX
XMLTYPE COLUMN SEARCH_PROPERTIES XMLSCHEMA
"http://xxxxxxx.net/FolderProperties.xsd" element "FolderProperties"
VARRAY SEARCH_PROPERTIES."XMLDATA"."PROPERTIES"."PROPERTY" STORE AS TABLE
PROPERTY_TABLE
(PRIMARY KEY (NESTED_TABLE_ID, ARRAY_INDEX)) ORGANIZATION INDEX OVERFLOW
Both schemas have the following xml schema registered as a local xml schema
BEGIN
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'http://xxxxxxx.net/FolderProperties.xsd',
SCHEMADOC =>
'<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xdb="http://xmlns.oracle.com/xdb"
xdb:storeVarrayAsTable="true">
<xs:element name="FolderProperties"
type="FolderPropertiesType"
xdb:defaultTable="FOLDER_SEARCH_PROPERTIES" />
<xs:complexType name="FolderPropertiesType" xdb:SQLType="FOLDERPROPERTIES_T">
<xs:sequence>
<xs:element name="FolderID" type="FolderIDType" minOccurs="1" xdb:SQLName="FOLDER_ID"/>
<xs:element name="Properties" type="PropertiesType" xdb:SQLName="PROPERTIES"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PropertiesType" xdb:SQLType="PROPERTIES_T">
<xs:sequence>
<xs:element name="Property" type="PropertyType" maxOccurs="unbounded"
xdb:SQLName="PROPERTY" xdb:SQLCollType="PROPERTY_V"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PropertyType" xdb:SQLType="PROPERTY_T">
<xs:sequence>
<xs:element name="DateValue" type="DateType" xdb:SQLName="DATE_VALUE"/>
<xs:element name="NumValue" type="NumType" xdb:SQLName="NUM_VALUE"/>
<xs:element name="StringValue" type="StringType" xdb:SQLName="STRING_VALUE"/>
</xs:sequence>
<xs:attribute name="Name" xdb:SQLName="NAME" xdb:SQLType="VARCHAR2">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:simpleType name="FolderIDType">
<xs:restriction base="xs:integer"/>
</xs:simpleType>
<xs:simpleType name="DateType">
<xs:restriction base="xs:dateTime"/>
</xs:simpleType>
<xs:simpleType name="NumType">
<xs:restriction base="xs:decimal"/>
</xs:simpleType>
<xs:simpleType name="StringType">
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:schema>',
LOCAL => TRUE,
GENTYPES => TRUE,
GENTABLES => FALSE);
END;
when I try to do the following insert:
insert into schemaB.TABLE_WITH_XMLTYPE ( FOLDER_ID, SEARCH_PROPERTIES)
select FOLDER_ID, SEARCH_PROPERTIES from schemaB.TABLE_WITH_XMLTYPE;
I’ll get an ora-19007.
Can some one point me in the right direction how to solve this error.
Thanks Roelof.Who did you create the second table, in other words, how did you COPY the table as you said...
If you created the second table via a CTAS (create table as select) then you will have created a table that is not the same as the original one. AFAIK I have once created an enhancement request for this after discovering that JDeveloper, for example, creates a "copy" via a CTAS which creates the wrong structure. Double check via package DBMS_METADATA.
SQL> set long 1000000
SQL> select DBMS_METADATA('TABLE','TABLE_WITH_XMLTYPE','SchemaA') from dual;
SQL> select DBMS_METADATA('TABLE','TABLE_WITH_XMLTYPE','SchemaB') from dual;If you have got two different tables, than Mark's solution should help.
M.
Edited by: Marco Gralike on Feb 15, 2009 11:16 AM -
ORA-02303 when creating database on Exadata using template with BP12
I get ORA-02303 when creating a RAC database on Exadata. Logs indicate that error happened when applying bundle patch BP12 and probably when running following script: /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/catsnap.sql
CREATE OR REPLACE TYPE SYS.RewriteMessage AS OBJECT(
Check the following file for errors:
/u01/app/oracle/product/11.2.0.4/dbhome_1/cfgtoollogs/catbundle/catbundle_EXA_ACSES01_GENERATE_2014Dec17_13_07_45.log
Apply script: /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/catbundle_EXA_ACSES01_APPLY.sql
Rollback script: /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/catbundle_EXA_ACSES01_ROLLBACK.sql
Executing script file...
Processing Oracle Database Packages and Types...
CREATE OR REPLACE TYPE SYS.RewriteMessage AS OBJECT(
ERROR at line 1:
ORA-02303: cannot drop or replace a type with type or table dependents
CREATE OR REPLACE TYPE SYS.ExplainMVMessage AS OBJECT (
ERROR at line 1:
ORA-02303: cannot drop or replace a type with type or table dependents
Anyone experienced the same issue??Metalink search points to few bugs. May be opening a SR is a good idea.
-
Limits to the SQL Statement when creating External Dictionaries
Limits to the SQL Statement when creating External Dictionaries
Does RC not provide the ability to concatenate multiple db columns into a single dictionary field? When trying a query like: SELECT Col1 + Col2 AS NewCol1 FROM Tbl1 we get an error("Unknown internal error") after clicking to save/create the new dictionary. This is on version 2008.3What if you created a buffer table in your external database, that is populated by your field-merging query, and then invoke that from Newscale? The temporary table would be updatable by newscale (although, presumably, you wouldn't actually have newscale update it), so then it'd accept that connection.
For example, I think you could do something like that by creating a View in MS SQL Server. Likewise, in other database brands you could create a Trigger that would update the buffer table each time data in the real tables are changed. -
Create external table in procedure
i have a PL/SQL Block [ well i'm not created procedure still]
/* Formatted on 2011/01/05 11:53 (Formatter Plus v4.8.8) */
DECLARE
-- create header
p_formula_no VARCHAR2 (200);
p_formula_vers NUMBER;
p_formula_desc VARCHAR2 (200);
p_formula_desc2 VARCHAR2 (200);
p_formula_class VARCHAR2 (200);
p_owner_organization_id NUMBER;
p_owner_id NUMBER;
p_formula_type NUMBER;
p_scale_type NUMBER;
p_text_code NUMBER;
p_last_update_date DATE;
p_auto_product_calc VARCHAR2 (200);
x_formula_id NUMBER;
x_return_code VARCHAR2 (200);
x_error_msg VARCHAR2 (200);
formula_id NUMBER;
-- update header
p_formula_id NUMBER;
p_formula_status VARCHAR2 (200);
p_user_id NUMBER;
p_last_update_date_orig DATE;
p_formulaline_id NUMBER;
p_line_type NUMBER;
p_line_no NUMBER;
p_item_id NUMBER;
p_item_no VARCHAR2 (200);
p_revision VARCHAR2 (200);
p_qty NUMBER;
p_item_um VARCHAR2 (200);
p_release_type NUMBER;
p_scrap_factor NUMBER;
p_cost_alloc NUMBER;
p_phantom_type NUMBER;
p_rework_type NUMBER;
p_tp_formula_id NUMBER;
p_iaformula_id NUMBER;
p_scale_uom VARCHAR2 (200);
p_contribute_step_qty_ind VARCHAR2 (200);
p_contribute_yield_ind VARCHAR2 (200);
p_scale_multiple NUMBER;
p_scale_rounding_variance NUMBER;
p_rounding_direction NUMBER;
p_by_product_type VARCHAR2 (200);
p_prod_percent NUMBER;
-- create header and update header cursors
CURSOR c1
IS
SELECT DISTINCT formula_no, formula_ver, formula_desc, formula_class,
owner_header
FROM api_formula;
-- for product cursors
CURSOR c2
IS
SELECT *
FROM api_formula
WHERE line_type = 1;
-- for ingredient cursors
CURSOR c3
IS
SELECT *
FROM api_formula
WHERE line_type = -1;
hdr c1%ROWTYPE;
prod c2%ROWTYPE;
ing c3%ROWTYPE;
BEGIN
-- for create and update header
OPEN c1;
FETCH c1
INTO hdr;
WHILE c1%FOUND
LOOP
p_formula_no := hdr.formula_no;
p_formula_vers := hdr.formula_ver;
p_formula_desc := hdr.formula_desc;
p_formula_desc2 := NULL;
p_formula_class := hdr.formula_class;
p_owner_organization_id := 327;
p_owner_id := 1298;
p_formula_type := 0;
p_scale_type := 0;
p_text_code := 0;
p_last_update_date := SYSDATE;
p_auto_product_calc := 'Y';
x_formula_id := NULL;
x_return_code := NULL;
x_error_msg := NULL;
apps.gmd_formula_designer_pkg_cust.create_formula_header
(p_formula_no,
p_formula_vers,
p_formula_desc,
p_formula_desc2,
p_formula_class,
p_owner_organization_id,
p_owner_id,
p_formula_type,
p_scale_type,
p_text_code,
p_last_update_date,
p_auto_product_calc,
x_formula_id,
x_return_code,
x_error_msg
COMMIT;
SELECT formula_id
INTO formula_id
FROM fm_form_mst_b
WHERE formula_no = hdr.formula_no;
p_formula_id := formula_id;
p_formula_no := NULL;
p_formula_vers := NULL;
p_formula_desc := NULL;
p_formula_desc2 := NULL;
p_formula_status := 700;
p_formula_class := NULL;
p_owner_organization_id := 327;
p_owner_id := 1298;
p_formula_type := 0;
p_scale_type := 0;
p_text_code := NULL;
p_last_update_date := SYSDATE;
p_user_id := 1298;
p_last_update_date_orig := SYSDATE;
p_auto_product_calc := 'Y';
x_return_code := NULL;
x_error_msg := NULL;
apps.gmd_formula_designer_pkg_cust.update_formula_header
(p_formula_id,
p_formula_no,
p_formula_vers,
p_formula_desc,
p_formula_desc2,
p_formula_status,
p_formula_class,
p_owner_organization_id,
p_owner_id,
p_formula_type,
p_scale_type,
p_text_code,
p_last_update_date,
p_user_id,
p_last_update_date_orig,
p_auto_product_calc,
x_return_code,
x_error_msg
DBMS_OUTPUT.put_line (x_return_code);
DBMS_OUTPUT.put_line (x_error_msg);
COMMIT;
-- for PROD
OPEN c2;
FETCH c2
INTO prod;
WHILE c2%FOUND
LOOP
p_formula_id := formula_id;
p_formulaline_id := NULL;
p_line_type := 1;
p_line_no := prod.line_no;
p_item_id := prod.item_id;
p_item_no := prod.item_name;
p_revision := NULL;
p_qty := prod.qty;
p_item_um := prod.uom;
p_release_type := 0;
p_scrap_factor := 0;
p_scale_type := 1;
p_cost_alloc := 1;
p_phantom_type := 0;
p_rework_type := NULL;
p_text_code := NULL;
p_tp_formula_id := NULL;
p_iaformula_id := NULL;
p_scale_uom := NULL;
p_contribute_step_qty_ind := NULL;
p_contribute_yield_ind := NULL;
p_scale_multiple := NULL;
p_scale_rounding_variance := NULL;
p_rounding_direction := NULL;
p_by_product_type := NULL;
p_last_update_date := SYSDATE;
p_user_id := 1298;
p_prod_percent := NULL;
x_return_code := NULL;
x_error_msg := NULL;
apps.gmd_formula_designer_pkg.insert_formula_detail
(p_formula_id,
p_formulaline_id,
p_line_type,
p_line_no,
p_item_id,
p_item_no,
p_revision,
p_qty,
p_item_um,
p_release_type,
p_scrap_factor,
p_scale_type,
p_cost_alloc,
p_phantom_type,
p_rework_type,
p_text_code,
p_tp_formula_id,
p_iaformula_id,
p_scale_uom,
p_contribute_step_qty_ind,
p_contribute_yield_ind,
p_scale_multiple,
p_scale_rounding_variance,
p_rounding_direction,
p_by_product_type,
p_last_update_date,
p_user_id,
p_prod_percent,
x_return_code,
x_error_msg
DBMS_OUTPUT.put_line (x_return_code);
DBMS_OUTPUT.put_line (x_error_msg);
COMMIT;
FETCH c2
INTO prod;
END LOOP;
-- for ing
OPEN c3;
FETCH c3
INTO ing;
WHILE c3%FOUND
LOOP
p_formula_id := formula_id;
p_formulaline_id := NULL;
p_line_type := -1;
p_line_no := ing.line_no;
p_item_id := ing.item_id;
p_item_no := ing.item_name;
p_revision := NULL;
p_qty := ing.qty;
p_item_um := ing.uom;
p_release_type := 0;
p_scrap_factor := 0;
p_scale_type := 1;
p_cost_alloc := 1;
p_phantom_type := 0;
p_rework_type := NULL;
p_text_code := NULL;
p_tp_formula_id := NULL;
p_iaformula_id := NULL;
p_scale_uom := NULL;
p_contribute_step_qty_ind := NULL;
p_contribute_yield_ind := NULL;
p_scale_multiple := NULL;
p_scale_rounding_variance := NULL;
p_rounding_direction := NULL;
p_by_product_type := NULL;
p_last_update_date := SYSDATE;
p_user_id := 1298;
p_prod_percent := NULL;
x_return_code := NULL;
x_error_msg := NULL;
apps.gmd_formula_designer_pkg.insert_formula_detail
(p_formula_id,
p_formulaline_id,
p_line_type,
p_line_no,
p_item_id,
p_item_no,
p_revision,
p_qty,
p_item_um,
p_release_type,
p_scrap_factor,
p_scale_type,
p_cost_alloc,
p_phantom_type,
p_rework_type,
p_text_code,
p_tp_formula_id,
p_iaformula_id,
p_scale_uom,
p_contribute_step_qty_ind,
p_contribute_yield_ind,
p_scale_multiple,
p_scale_rounding_variance,
p_rounding_direction,
p_by_product_type,
p_last_update_date,
p_user_id,
p_prod_percent,
x_return_code,
x_error_msg
DBMS_OUTPUT.put_line (x_return_code);
DBMS_OUTPUT.put_line (x_error_msg);
COMMIT;
FETCH c3
INTO ing;
END LOOP;
FETCH c1
INTO hdr;
END LOOP;
DBMS_OUTPUT.put_line (p_formula_id);
DBMS_OUTPUT.put_line (x_return_code);
DBMS_OUTPUT.put_line (x_error_msg);
END;in this PL/SQL Block i'm used external table which is "API_FORMULA"
the coding is
create table api_formula
( FORMULA_NO varchar2(2000),
FORMULA_VER NUMBER,
FORMULA_DESC varchar2(2000),
FORMULA_CLASS varchar2(2000),
ORG NUMBER,
OWNER_HEADER NUMBER,
LINE_TYPE NUMBER,
LINE_NO NUMBER,
ITEM_ID NUMBER,
ITEM_NAME VARCHAR2(2000),
QTY NUMBER,
UOM VARCHAR2(200),
SCRAP_FAC NUMBER,
SCRAP_TYPE NUMBER,
UPDATE_DATE date,
OWNER_LINE NUMBER,
testt char(2)/*,
future_use varchar2(200)*/
organization external
( default directory ZAFAR
access parameters
( records delimited by newline
fields terminated by ','
location ('HEADER.csv')
reject limit 100
;i want this create external table statment in my Pl/SQL Block and when all the execution is complete then drop the table
how it is possible??
regard
chintoouser11156570 wrote:
@BluShadow
ok .. i want to delete all rows from table in the end when execute this PL/SQLdelete all rows from what table?
If you're referring to the external table, it's a file on the filesystem, you don't delete rows from it, you just replace/overwrite/delete the file as and when necessary.
blushadow how i crate a reliable code.. can u suggest me?Basics of transactions... you commit when a business rule/process is complete, not for every little technical thing your code does. In your case I would expect a single commit at the end of the code.
I don't have your tables, data or know what the code is supposed to be achieving, but you can bet your bottom dollar that if you're nesting cursor loops within each other then the code is running much slower than if you generated the data from a single SQL statement/cursor. I certainly have no clue what those procedure calls are doing, but it looks like they're using a load of OUT parameters. Are they user defined procedures or something that's part of e.g. Oracle Apps? If they're user defined I would consider redesigning all the code to use functions and pass back a structured data type with the required data. -
How to indent second line in a very long heading when creating a table of contents?
I need to make a table of contents.
Some of the chapter headings are very long and fill more than a single line.
When I create my table of contents, I want the second lines to be 'pushed in' in the table.
Like this
1 chaper one xxxxxxxxxxx
2 Chapter two xxxxxxxxxxxxxxxxxx
3 Chapter three x xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxx xxxxxxxxxxx
4 Charpter four xxxxx xxxxx
5 Chapter five xxxxxxxxxx xxx xxxxx xx xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxx xxxx xxxxx
I thought I had solved it by having the actual chapter headings indented like this, but the table of contents overlooks this/overrules this.See also my reply to the duplicate thread:
http://social.technet.microsoft.com/Forums/office/en-US/8f88b64c-1a15-4761-aed9-f662f17b94ca/how-to-indent-second-line-in-a-very-long-heading-when-creating-a-table-of-contents?forum=word
Cheers
Paul Edstein
[MS MVP - Word] -
When creating a table why should we give promary key
when creating a table why should we give promary key
Hi Rambabu,
Primary key is needed so as to avoid duplicate entries and ensure that there are unique entries in the table.
For some applications, it is useful to uniquely identify the rows in a table by one or more columns so that you can process them in a specified sequence, for example. You can do this by assigning a primary key. The column names that are to create the table key are represented by the keywords PRIMARY KEY. The input values of the key columns defined in this way must not be a NULL value.
You can use the primary key to insert rows in a table in the same way as you insert rows in a base table when no primary key is defined. However, the system outputs an error message if you attempt to insert an existing value into the primary key column a second time, since the uniqueness of the column is ensured by defining the primary key.
A primary key can consist of multiple columns. However, it is unusual for a key to be constructed from more than five columns, since this makes it difficult for users to enter unique values. The arrangement of the columns behind the keywords PRIMARY KEY defines the key sequence.
Regards,
Sekhar -
ORA-00604 ORA-00904 When query partitioned table with partitioned indexes
Got ORA-00604 ORA-00904 When query partitioned table with partitioned indexes in the data warehouse environment.
Query runs fine when query the partitioned table without partitioned indexes.
Here is the query.
SELECT al2.vdc_name, al7.model_series_name, COUNT (DISTINCT (al1.vin)),
al27.accessory_code
FROM vlc.veh_vdc_accessorization_fact al1,
vlc.vdc_dim al2,
vlc.model_attribute_dim al7,
vlc.ppo_list_dim al18,
vlc.ppo_list_indiv_type_dim al23,
vlc.accy_type_dim al27
WHERE ( al2.vdc_id = al1.vdc_location_id
AND al7.model_attribute_id = al1.model_attribute_id
AND al18.mydppolist_id = al1.ppo_list_id
AND al23.mydppolist_id = al18.mydppolist_id
AND al23.mydaccytyp_id = al27.mydaccytyp_id
AND ( al7.model_series_name IN ('SCION TC', 'SCION XA', 'SCION XB')
AND al2.vdc_name IN
('PORT OF BALTIMORE',
'PORT OF JACKSONVILLE - LEXUS',
'PORT OF LONG BEACH',
'PORT OF NEWARK',
'PORT OF PORTLAND'
AND al27.accessory_code IN ('42', '43', '44', '45')
GROUP BY al2.vdc_name, al7.model_series_name, al27.accessory_codeI would recommend that you post this at the following OTN forum:
Database - General
General Database Discussions
and perhaps at:
Oracle Warehouse Builder
Warehouse Builder
The Oracle OLAP forum typically does not cover general data warehousing topics. -
Can i create External Table dynamically
Hi,
Is it possible to create External Table dynamically ?
I want to use the following dynamically to create External Table.
1) fields
2) field position
3) file location
ThanksThe answer shouldn't be very different of already given answers in your Can i create external table dynamically? of the last month, is it ?
And question is still same : why wanted such thing ?
Nicolas. -
Fields in Field Catalog not available when creating condition table
I see that field HIEBO01 to HIEBO12 are available in Field Catalog, but I don't see these fields when creating condition table
Please let me know what I am missing here.
Any insight on this would be really helpful. Thanks guys!you need to get them added to the pricing structure KOMKAZ or KOMPAZ based on whether you need @ header level or @ item level respectively.
and then add the logic in the sales order user exit for these added field in the pricing_prepare_TKOMK or pricing_prepare_TKOMP...again based on header level or item level.....
Then go back to the field catalog and select from the respective structure and add them, Then you can see them when creating cond tables.
Hope this helps. Hope i havent misunderstood your query.,
Regards
Sai
Maybe you are looking for
-
Hi I am trying to measure phase noise at 10KHz and 100KHz offset using MT ni5660 phase noise vi as shipped with modulation toolkit. Both results at offsets are -88dBc/Hz, I am expecting -62dBc/Hz at 10KHz offset and -85dBc/Hz at 100Khz offset as meas
-
Can't find help on this issue anywhere....
I have allowed my father to buy from my credit card in iTunes because he cannot get the same TV shows in Canada that are offered in the USA on the iTunes site(ie.Law and Order ect..), so we he signs in to iTunes, it automatically downloads TV seasons
-
Can't connect to a friend's router
I am staying with friends. I can see their network via airport and when it asks me for the WEP password I enter it, but it refuses to recognise the WEP. I've tried the trick of putting in a $ sign before the WEP password but that doesn't help. Any su
-
Can't select "Open iTunes when this iPhone is connected" in iTunes.
iTunes wouldn't launch when I plugged the phone into my laptop. I opened iTunes manually & the option to "Open iTunes when this iPhone is connected" is now grayed out. How can I re-select that option?
-
How to trigger idocs when GR is done
Hi Guru's Need to trigger idoc's when GR(Goods Receipt by Order(Supplier))is done(Idoc type: DELV01, Message type WHSORD). How can this be done for MIGO as there will not be any output type for MIGO. (EXample for sales order we do have output type to