External Table Error
While Creating an external table I got following error
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 "missing": expecting one of: "badfile, byteordermark, characterset, column, data, delimited, discardfile, disable_directory_link_check, exit, fields, fixed, load, logfile, language, nodiscardfile, nobadfile, nologfile, date_cache, processing, readsize, string, skip, territory, varia¿gÀ"
KUP-01007: at line 2 column 14
ORA-06512: at
My CREATE TABLE Syntax is as follow
CREATE TABLE APPL_NOTE_EXT
CUS_ID NUMBER(10),
TEXT VARCHAR2(2000 ),
PAGE_NUM NUMBER(3)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY EXT_TABLE
ACCESS PARAMETERS
RECORDS DELIMITED BY newline
MISSING FIELD VALUES ARE NULL
FIELDS
CUS_ID POSITION (2:10) ,
TEXT POSITION (39:1737),
PAGE_NUM POSITION (13:14)
LOCATION ('APPNOTES.TXT')
REJECT LIMIT Unlimited
NOPARALLEL
NOMONITORING;
This is the result I obtained after creating the table with your script:
Table created.
SQL> desc APPL_NOTE_EXT
Name Null? Type
CUS_ID NUMBER(10)
TEXT VARCHAR2(2000)
PAGE_NUM NUMBER(3)The only issue I faced was the directory object. I had to create it. May be you don't have privileges on the specified ext_table directory. Please verify.
~ Madrid
Similar Messages
-
External table error in windows environment
Can i create external table from directory which is on network drive not on local server where oracle is intsalled. I am receiving follwoing error when I try to query external table poinittng to directory object on network drive in windows. Thanks
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04063: unable to open log file BRIDGIES_EXTERNAL_4564_4844.log
OS error The system cannot find the file specified.
ORA-06512: at "SYS.ORACLE_LOADER", line 19I suspect not. Copy the file to a local disk location, point the directory or a directory to it, update the external table definition if necessary, repeat. If this run works then you have your answer.
HTH -- Mark D Powell -- -
Oracle 9i External Tables Error
Hello,
I am getting following error in querying an external table.
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 "identifier": expecting one of: "comma, char, date, defaultif, decimal, double, float, integer, (, nullif, oracle_date, oracle_number, position, raw, recnum, ), unsigned, varrawc, varchar, varraw, varcharc, zoned"
KUP-01008: the bad identifier was: number
KUP-01007: at line 8 column 23
ORA-06512: at "SYS.ORACLE_LOADER", line 14
OR
Below is how External table is created.
CREATE TABLE CXS_Datatraffic (
tablespace_name varchar2(30),
owner varchar2(30),
index_name varchar2(30),
clustering_factor number,
leaf_blocks number,
blevel number,
next_extent number,
extents number,
isegment_type varchar2(18),
index_bytes number,
table_tspace_name varchar2(30),
table_owner varchar2(30),
table_name varchar2(30),
table_extent number,
table_extents number,
tsegment_type varchar2(18),
table_bytes NUMBER,
Acurdate date
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY CXS_XMLPATH
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
tablespace_name char(30),
owner char(30),
index_name char(30),
clustering_factor number,
leaf_blocks number,
blevel number,
next_extent number,
extents number,
isegment_type char(18),
index_bytes number,
table_tspace_name char(30),
table_owner char(30),
table_name char(30),
table_extent number,
table_extents number,
tsegment_type char(18),
table_bytes NUMBER,
Acurdate date
LOCATION ('DataTraffic.csv')
PARALLEL 5
REJECT LIMIT UNLIMITED;
And below is the datafile content(just one record) I am trying to read.
"APPLSYSX","APPLSYS","FND_ATTACHED_DOCUMENTS_U1",1100732,17459,2,,56,"INDEX",162660352,"APPLSYSD","APPLSYS",,"FND_ATTACHED_DOCUMENTS",,84,"TABLE",344981504,21-DEC-09
I am not sure where I am doing wrong.
Please help.
Thank you for your time in reading this post.
-RRECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','i think this is the problem. DELIMITED should be ',' and TERMINATED must be NEWLINE -
External Table error in Oracle9i Database
Hi List,
Please see the following errors and guide me that how can I resolve these
errors?
SQL> CREATE OR REPLACE DIRECTORY EXT_TABLE
2 AS 'G:\';
Directory created.
1 CREATE TABLE ORDER_ITEM_EXT
2 ( ORDER_ID NUMBER(12), LINE_ITEM_ID NUMBER(3), PRODUCT_ID
NUMBER(6),
3 UNIT_PRICE NUMBER(8,2), QUANTITY NUMBER(8))
4 ORGANIZATION EXTERNAL
5 (TYPE ORACLE_LOADER
6 DEFAULT DIRECTORY EXT_TABLE
7 ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE
8 FIELDS TERMINATED BY ',')
9* LOCATION ('ORDER_ITEMS1.TXT','ORDER_ITEMS2.TXT'))
SQL> /
Table created.
SQL> SELECT * FROM ORDER_ITEM_EXT;
SELECT * FROM ORDER_ITEM_EXT
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04040: file ORDER_ITEMS1.TXT in EXT_TABLE not found
ORA-06512: at "SYS.ORACLE_LOADER", line 14
ORA-06512: at line 1
SQL> ALTER PACKAGE ORACLE_LOADER COMPILE PACKAGE;
ALTER PACKAGE ORACLE_LOADER COMPILE PACKAGE
ERROR at line 1:
ORA-04043: object ORACLE_LOADER does not exist
Need your help
Thanks A Lot in advance
NataliaI suspect not. Copy the file to a local disk location, point the directory or a directory to it, update the external table definition if necessary, repeat. If this run works then you have your answer.
HTH -- Mark D Powell -- -
External Table error: KUP-04043: table column not found in external source
I am trying to get the syntaxc correct for an external table.
I keep getting this error:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04043: table column not found in external source: SITE
29913. 00000 - "error in executing %s callout"
*Cause: The execution of the specified callout caused an error.
*Action: Examine the error messages take appropriate action.
Data looks like: (some of one of many files, where the character field widths are variable)
ZZ,ANYOLDDATA,77777,25002000,201103,12,555.555,11.222
ZZ,ANYOLDDATA,77777,25002300,201103,34,602.162,8.777
ZZ,ANYOLDDATA,77777,25002400,201103,12,319.127,9.666
ZZ,OTHERDATA,77121,55069600,201103,34,25.544,1.332
ZZ,OTHERDATAS,77122,55069600,201103,22, 1.011,0.293
External table def I have:
CREATE TABLE MY_INPUT (
FIRST_CODE VARCHAR2(10),
SECOND_CODE VARCHAR2(20),
MY_NUMBER VARCHAR2(20),
THIRD_CODE VARCHAR2(20),
YEARMO VARCHAR2(6),
N NUMBER,
MEAN NUMBER,
SD NUMBER
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY INPUT_DIR
ACCESS PARAMETERS (
RECORDS DELIMITED BY newline
BADFILE INPUT_LOGDIR:'bad.bad'
LOGFILE INPUT_LOGDIR:'log.log'
DISCARDFILE INPUT_LOGDIR:'discards.log'
fields terminated by ',' LRTRIM
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
( THIRD_CODE,N,MEAN,SD) )
LOCATION ( 'myfile.rpt')
NOPARALLEL
REJECT LIMIT UNLIMITED;
I have the directories INPUT_DIR and INPUT_LOGDIR defined, and read/write access granted to the user who creates the table and tried to query from it.
I have tried various combinations of VARCHAR2 lengths and NUMBER vs VARCHAR2 for some of the numeric fields.
I am not getting any Bad, Log or Discard files.
I can do a GET from the SQL prompt, and see the data:
SQL> GET 'C:\temp\input_dir'myfile.rpt'
and I see the data.
Windows 7
Oracle 11.2
I am not positive of the newline record delimiter - these files are generated by an automated system. Probably generated on a UNIX machine.
Any suggestions on what to try would be helpful.
KUP-04043 error message says to check the syntax .. .I am running out of thigns to check.
Thank you - KarenAnd the get ( I created the sanitized file, so we have a real working, failing, santiized example):
SQL> get c:\Inputfiles\myfile.rpt
1 ZZ,ANYOLDDATA,77777,25002000,201103,12,555.555,11.222
2 ZZ,ANYOLDDATA,77777,25002300,201103,34,602.162,8.777
3 ZZ,ANYOLDDATA,77777,25002400,201103,12,319.127,9.666
4 ZZ,OTHERDATA,77121,55069600,201103,34,25.544,1.332
5* ZZ,OTHERDATAS,77122,55069600,201103,22, 1.011,0.293
So the full series is:
CREATE DIRECTORY INPUT_DIR AS 'C:\InputFiles';
-- grant READ and WRITE
GRANT READ ON DIRECTORY INPUT_DIR TO ILQC;
GRANT WRITE ON DIRECTORY INPUT_DIR TO ILQC;
-- As SYS, create the bad/log/discard directory:
CREATE DIRECTORY LOGDIR AS 'C:\InputFiles\Logs';
-- grant READ and WRITE
GRANT READ ON DIRECTORY LOGDIR TO ILQC;
GRANT WRITE ON DIRECTORY LOGDIR TO ILQC;
CREATE TABLE MY_INPUT (
FIRST_CODE VARCHAR2(10),
SECOND_CODE VARCHAR2(20),
MY_NUMBER VARCHAR2(20),
THIRD_CODE VARCHAR2(20),
YEARMO VARCHAR2(6),
N NUMBER,
MEAN NUMBER,
SD NUMBER
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY INPUT_DIR
ACCESS PARAMETERS (
RECORDS DELIMITED BY newline
BADFILE INPUT_LOGDIR:'bad.bad'
LOGFILE INPUT_LOGDIR:'log.log'
DISCARDFILE INPUT_LOGDIR:'discards.log'
fields terminated by ',' LRTRIM
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
( THIRD_CODE,N,MEAN,SD) )
LOCATION ( 'myfile.rpt')
NOPARALLEL
REJECT LIMIT UNLIMITED;
SELECT * FROM my_input;
and GET is as above. -
Querying external tables ERROR no not English version 10g R2 ¿BUG 5172459?
Hello
I have a serious problem when trying to view the content of external tables under Oracle 10R2 in Spanish
Steps to perform:
1. Make directory on file system (in oracle server side).
2. Copy a data file into this directory.
3. Login (sqlplus) as "sys as sysdba"
4. Make one oracle directory object
5. Grant permits read / write to a user 'simple_uesr'
6. Logout sys, and login as 'simple_user'
7. Make a external table, which uses the directory and data file.
8. Run query 'select * from myExtTable' to check it.
I have repeated these steps on Oracle 9i Enterprise, Oracle 10gR2 Enterprise, and Oracle 10g XE, and always, always worked perfectly (no problems).
The problem occurs in the client's DB (Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 SPANISH), everything works fine until the step 8 (querying external tables), where systematically the following error occurs:
ERROR en línea 1:
ORA-29913: error al ejecutar la llamada de ODCIEXTTABLEOPEN
ORA-29400: error de cartucho de datos
KUP-00552: internal XAD package failed to load
ORA-06512: en "SYS.ORACLE_LOADER", línea 19
I have made many tests, such as assigning a wrong directory to external table, remove the data file, remove access permissions, and always, always gives the same error, nerver error "file not found...etc, etc".
I have concluded that the failure, which occurs before Oracle even try to access the file system, but I do not know what may be the cause.
Searching the Internet, I found the following links:
http://www.dba-oracle.com/t_ora_29913_external_table_error.htm
http://zalbb.itpub.net/post/980/249423
Where mention the BUG 5172459 (MetaLink Note: 373168.1), but after follow the directions, still does not work.
Can anyone help me with this problem?
Thanks!
Full details of the DB which gives the error
SO: Windows 2003 Server Standard SP1.
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod
PL/SQL Release 10.2.0.2.0 - Production
CORE 10.2.0.2.0 Production
TNS for 32-bit Windows: Version 10.2.0.2.0 - Production
NLSRTL Version 10.2.0.2.0 - Production
show parameter nls;
NAME TYPE VALUE
nls_calendar string
nls_comp string
nls_currency string
nls_date_format string
nls_date_language string
nls_dual_currency string
nls_iso_currency string
nls_language string SPANISH
nls_length_semantics string BYTE
nls_nchar_conv_excp string FALSE
nls_numeric_characters string
nls_sort string
nls_territory string SPAIN
nls_time_format string
nls_timestamp_format string
nls_timestamp_tz_format string
nls_time_tz_format string
-- NLS_SESSION_PARAMETERS
select * from NLS_SESSION_PARAMETERS order by parameter;
PARAMETER VALUE
NLS_CALENDAR GREGORIAN
NLS_COMP BINARY
NLS_CURRENCY €
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE SPANISH
NLS_DUAL_CURRENCY €
NLS_ISO_CURRENCY SPAIN
NLS_LANGUAGE SPANISH
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS ,.
NLS_SORT SPANISH
NLS_TERRITORY SPAIN
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
-- NLS_INSTANCE_PARAMETERS
select * from NLS_INSTANCE_PARAMETERS order by parameter;
PARAMETER VALUE
NLS_CALENDAR
NLS_COMP
NLS_CURRENCY
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_DUAL_CURRENCY
NLS_ISO_CURRENCY
NLS_LANGUAGE SPANISH
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS
NLS_SORT
NLS_TERRITORY SPAIN
NLS_TIME_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
NLS_TIME_TZ_FORMAT
-- NLS_DATABASE_PARAMETERS
select * from NLS_DATABASE_PARAMETERS order by parameter;
PARAMETER VALUE
NLS_CALENDAR GREGORIAN
NLS_CHARACTERSET WE8MSWIN1252
NLS_COMP BINARY
NLS_CURRENCY ?
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE SPANISH
NLS_DUAL_CURRENCY ?
NLS_ISO_CURRENCY SPAIN
NLS_LANGUAGE SPANISH
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS ,.
NLS_RDBMS_VERSION 10.2.0.2.0
NLS_SORT SPANISH
NLS_TERRITORY SPAIN
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
END.jpadron_uy wrote:
ERROR en línea 1:
ORA-29913: error al ejecutar la llamada de ODCIEXTTABLEOPEN
ORA-29400: error de cartucho de datos
KUP-00552: internal XAD package failed to load
ORA-06512: en "SYS.ORACLE_LOADER", línea 19Hola!
Let's go through errors you posted:
First error (ORA-29913) indicating error occurs when Oracle tryed to access external table.
Then ORA-29400 says that error has occurred in a data cartridge external procedure.
And then finally KUP-00552 - an error was encountered while attempting to initialize the XAD package.
So did you check state of the XAD package in that database?
Also, please post code you used in steps 4. and 7.
HTH -
External table error (no data showing)
Hi Guys,
Need some help on my external table. I have an existing external table (MA_EXT) when I select the table no data is showing and there is no error in the log file and there is no bad file. The next thing I did to check if the error is in the file is to copy the same code and just rename the external table (MA_EXT2) and it worked just fine (data is showing no changes in the code just external table name). So the next step I did was to drop and recreate the external table (MA_EXT) but the same thing happened the data is not showing and no error in log file and no bad file.
BTW this is in 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
Has anyone encountered this? TIA...eadelrosario wrote:
Hi Guys,
Need some help on my external table. I have an existing external table (MA_EXT) when I select the table no data is showing and there is no error in the log file and there is no bad file. The next thing I did to check if the error is in the file is to copy the same code and just rename the external table (MA_EXT2) and it worked just fine (data is showing no changes in the code just external table name). So the next step I did was to drop and recreate the external table (MA_EXT) but the same thing happened the data is not showing and no error in log file and no bad file.
BTW this is in 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
Has anyone encountered this? TIA...you have a mystery & we have no clues.
Either you are correct or Oracle is correct.
I bet Oracle is correct more often than you.
You are free to submit a Bug Report if you are sure that Oracle is mis-behaving. -
Here is the error message I get when trying to query from an External Table:
SQL> select * from customer;
select * from customer
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04063: unable to open log file customer.log
OS error No such file or directory
ORA-06512: at "SYS.ORACLE_LOADER", line 14
ORA-06512: at line 1
I corrected the following:
create table TU_DATA(
ERROR at line 1:
ORA-00406: COMPATIBLE parameter needs to be 9.0.0.0.0 or greater
By Adding:
COMPATIBLE 9.0.0
to my /Users/oracle/9iR2/orahome/dbs/initdw.ora fileWhat database utility are you using to view the table?
If sqlplus try this:
Col Entryno For A20 Tru
Col Glaccountno For A20 Tru
Col Postingdate For A20 Tru
Col Documenttype For A20 Tru
Col Documentno For A20 Tru
Col Description For A20 Tru
Col Balaccountno For A20 Tru
Col Amount For A20 Tru
Col Globaldimension1Code For A20 Tru
Col Globaldimension2Code For A20 Tru
Col Userid For A20 Tru
Col Sourcecode For A20 Tru
Col Balaccounttype For A20 Tru
Col Documentdate For A20 Tru
Col Sourceno For A20 Tru
Col Sourcetype For A20 Tru
Select * From STG0_NAV_GL_ENTRY_EXT;:p -
Regarding external table error
Hi,
I have created a csv file using excel as source, then I creaed a flat file module and imported the source.
Next I have created a external table for that file.
By using ssh I copied my source file (.csv file) to the server location ( By drag and drop method)
In the server it shows the file name as Income Source.csv file.
I deployed the external table.
When I am trying to opening the table it shows the message like
file not found in that location.
When I view the generated SQL of external table
in that query : the location the file name as Income_Source not Income Sourcce.csv ( I am thinking this might be the problem)
Please give me the suggestions.
Thanks,
Venkatuser642615 wrote:
Hi,
I have created a csv file using excel as source, then I creaed a flat file module and imported the source.
Next I have created a external table for that file.
By using ssh I copied my source file (.csv file) to the server location ( By drag and drop method)
In the server it shows the file name as Income Source.csv file.
I deployed the external table.
When I am trying to opening the table it shows the message like
file not found in that location.
When I view the generated SQL of external table
in that query : the location the file name as Income_Source not Income Sourcce.csv ( I am thinking this might be the problem)
Please give me the suggestions.
Thanks,
VenkatFile name should be exactly same as the filename in the directory.
Its a good practise to use filename as one string or have some char such as " _" to seperate two strings rather than have space such as INCOME SOURCE
i presume you have given permissions on the directory for owb to read the file.
Edited by: Darthvader-647181 on Mar 31, 2009 2:42 AM -
I get error while loading data into Oracle 11g R2 with EXTERNAL TABLES.
error processing column DATE_M in row 1 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01847: day of month must be between 1 and last day of month
error processing column DATE_M in row 2 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01843: not a valid month
error processing column DATE_M in row 3 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01843: not a valid month
error processing column DATE_M in row 4 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01847: day of month must be between 1 and last day of month
error processing column DATE_M in row 5 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01843: not a valid month
error processing column DATE_M in row 6 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01843: not a valid month
error processing column DATE_M in row 7 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01843: not a valid month
error processing column DATE_M in row 8 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01843: not a valid month
error processing column DATE_M in row 9 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01843: not a valid month
error processing column DATE_M in row 10 for datafile C:\app\S\admin\orcl\dpdump\TABLE_EXT.txt
ORA-01843: not a valid month-----
CREATE TABLE TABLE_EXT
( "COMPANY" VARCHAR2(101),
"COMPANY_VN" VARCHAR2(15),
"IL" VARCHAR2(17),
"TERMINAL" VARCHAR2(8),
"T_NO" VARCHAR2(15),
"NAME" VARCHAR2(108),
"SNAME" VARCHAR2(50),
"REF_NO" VARCHAR2(23),
"AMOUNT" NUMBER(15,2),
"DATE_M" DATE,
"TIME" VARCHAR2(11),
"TEL_NO" VARCHAR2(25),
"ADDRESS" VARCHAR2(50)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY data_pump_dir
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY '|'
MISSING FIELD VALUES ARE NULL
COMPANY,
COMPANY_VN,
IL,
TERMINAL,
T_NO,
NAME,
SNAME,
REF_NO,
AMOUNT decimal ,
DATE_M CHAR date_format DATE mask "dd.mm.yyyy" ,
TIME,
TEL_NO,
ADDRESS
LOCATION ('TABLE_EXT.txt')
REJECT LIMIT 10------
Sample Data:
CITY HOSPITAL|04680072124|CITY|00614860|47746244218|JOHN|WHITE|172871|420,12|21.08.2011|14:26|0806422627784|06
CITY HOSPITAL|04680072124|CITY|00614847|14274017676|BRAD|BROWN|448127|810,00|22.08.2011|11:04|0806427488476|06
CITY HOSPITAL|04680072124|CITY|00614842|16218778886|PETER|BALSON|862626|12,00|24.08.2011|14:16|0806062177008|06
CITY HOSPITAL|04680072124|CITY|00614846|14607666866|GEORGE|LOUIS|688811|40,10|24.08.2011|08:48|0806424172468|06
CITY HOSPITAL|04680072124|CITY|00614846|14607666866|GEORGE|LOUIS|460481|42,64|24.08.2011|08:47|0806424172468|06
CITY HOSPITAL|04680072124|CITY|00614860|18460662462|JR|TEPE|404622|44,16|22.04.2011|20:08|0806446446866|06
CITY HOSPITAL|04680072124|CITY|00614840|47207688618|BARRY|HRAN|402886|42,40|27.08.2011|11:12|0806478768007|06
CITY HOSPITAL|04680072124|CITY|00614847|42161048612|TOM|HIGGS|148640|12,00|06.06.2011|08:18|0806068076700|06
CITY HOSPITAL|04680072124|CITY|00614846|42161048612|TOM|HIGGS|208847|12,00|06.06.2011|08:46|0806068076700|06-----
NLS_DATE_FORMAT : DD/MM/RRRR-----
NOTE:
I tried :
TARIH CHAR date_format DATE mask "DD/MM/RRRR" , same error.
Edited by: 904386 on Jan 24, 2012 6:42 AMI have no experience with external tables but my understanding is that they are described the same was as you would describe a file to be loaded by SQL Loader. When ever I create a sql loader control file to load a date column I use syntax like this:
DATE_M "TO_DATE(:DATE_M,'dd.mm.yyyy')",Not sure if that will work for external tables or not. -
Error: while Selecting External table
Hi everybody,
When i Select an external table i am getting this error. The file is like this:
229|1|506460|SIGROUP |4890|100|0|0|10:31:01|2007/12/17|M009|20191395001|L|B|12|CLIENT|INE547A01012|10:31:00|
229|1|506460|SIGROUP |4900|900|0|0|10:31:01|2007/12/17|M009|20191395001|L|B|13|CLIENT|INE547A01012|10:31:00|
229|1|500407|SWARAJENG |21400|300|0|0|10:33:28|2007/12/17|OWN|20191397001|L|B|154|OWN|INE277A01016|10:33:28|
I had created the Table like this:
SQL> CREATE TABLE TEMP_SAUDA
2 (S_A VARCHAR2(20),
3 S_TYPE VARCHAR2(20),
4 S_CO VARCHAR2(20),
5 S_CONAME VARCHAR2(40),
6 S_RATE NUMBER,
7 S_QTY NUMBER,
8 S_G NUMBER,
9 S_H NUMBER,
10 S_TIME TIMESTAMP WITH TIME ZONE,
11 S_DATE DATE,
12 S_PCODE VARCHAR2(20),
13 S_SETNO VARCHAR2(20),
14 S_M VARCHAR2(20),
15 S_N VARCHAR2(20),
16 S_O VARCHAR2(20),
17 S_CLIENTOWN VARCHAR2(10),
18 S_ISIN VARCHAR2(12),
19 S_ORDER_TIME TIMESTAMP WITH TIME ZONE
20 )
21 ORGANIZATION EXTERNAL
22 (TYPE oracle_loader
23 DEFAULT DIRECTORY BSE17122007
24 ACCESS PARAMETERS
25 (RECORDS DELIMITED BY NEWLINE
26 FIELDS
27 (
28 S_A CHAR(20),
29 S_TYPE CHAR(20),
30 S_CO CHAR(20),
31 S_CONAME CHAR(20),
32 S_RATE CHAR(20),
33 S_QTY CHAR(20),
34 S_G CHAR(20),
35 S_H CHAR(20),
36 S_TIME CHAR(35) date_format TIMESTAMP WITH TIMEZONE mask "DD-MON-RR HH.MI.SSXFF AM TZH:TZM
37 S_DATE CHAR(22) date_format DATE mask "mm/dd/yyyy hh:mi:ss ",
38 S_PCODE CHAR(20),
39 S_SETNO CHAR(20),
40 S_M CHAR(20),
41 S_N CHAR(20),
42 S_O CHAR(20),
43 S_CLIENTOWN CHAR(20),
44 S_ISIN CHAR(20),
45 S_ORDER_TIME date_format TIMESTAMP WITH TIMEZONE mask "DD-MON-RR HH.MI.SSXFF AM TZH:TZM"
46 )
47 )
48 location (BSE17122007:'BR171207.DAT')
49 )
50 ;
Table created.
SQL> SELECT * FROM TEMP_SAUDA;
SELECT * FROM TEMP_SAUDA
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 "date_format": expecting one of: "binary_double,
binary_float, comma, char, date, defaultif, decimal, double, float, integer, (,
nullif, oracle_date, oracle_number, position, raw, recnum, ), unsigned,
varrawc, varchar, varraw, varcharc, zoned"
KUP-01007: at line 21 column 14
ORA-06512: at "SYS.ORACLE_LOADER", line 19
Is there any mistake in this table creation.
what i have to declare to the time format if the format in the file id hh:mm:ss
Thank u...!
RaviThe output you posted is completely wrong, I could not even create the table without errors.
Try with this.
CREATE TABLE TEMP_SAUDA
(S_A VARCHAR2(20),
S_TYPE VARCHAR2(20),
S_CO VARCHAR2(20),
S_CONAME VARCHAR2(40),
S_RATE NUMBER,
S_QTY NUMBER,
S_G NUMBER,
S_H NUMBER,
S_TIME TIMESTAMP WITH TIME ZONE,
S_DATE DATE,
S_PCODE VARCHAR2(20),
S_SETNO VARCHAR2(20),
S_M VARCHAR2(20),
S_N VARCHAR2(20),
S_O VARCHAR2(20),
S_CLIENTOWN VARCHAR2(10),
S_ISIN VARCHAR2(12),
S_ORDER_TIME TIMESTAMP WITH TIME ZONE
ORGANIZATION EXTERNAL
(TYPE oracle_loader
DEFAULT DIRECTORY BSE17122007
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
FIELDS terminated by "|"
S_A CHAR(20),
S_TYPE CHAR(20),
S_CO CHAR(20),
S_CONAME CHAR(20),
S_RATE CHAR(20),
S_QTY CHAR(20),
S_G CHAR(20),
S_H CHAR(20),
S_TIME CHAR(8) date_format TIMESTAMP WITH TIMEZONE mask "HH.MI.SSXFF AM TZH:TZM",
S_DATE CHAR(10) date_format DATE mask "yyyy/mm/dd",
S_PCODE CHAR(20),
S_SETNO CHAR(20),
S_M CHAR(20),
S_N CHAR(20),
S_O CHAR(20),
S_CLIENTOWN CHAR(20),
S_ISIN CHAR(20),
S_ORDER_TIME char(8) date_format TIMESTAMP WITH TIMEZONE mask "HH.MI.SSXFF AM TZH:TZM"
location (BSE17122007:'BR171207.DAT')
;With this you get:
SQL> col s_time format a40
SQL> col s_date format a40
SQL> col s_order_time format a40
SQL> r
1* select s_time,s_date,s_order_time from temp_sauda
S_TIME S_DATE S_ORDER_TIME
01-JAN-08 10.31.01.000000 AM +00:00 17.DEC.2007 00:00:00 01-JAN-08 10.31.00.000000 AM +00:00
01-JAN-08 10.31.01.000000 AM +00:00 17.DEC.2007 00:00:00 01-JAN-08 10.31.00.000000 AM +00:00
01-JAN-08 10.33.28.000000 AM +00:00 17.DEC.2007 00:00:00 01-JAN-08 10.33.28.000000 AM +00:00Be aware that your file does not contain date information for the time fields, so as you see above it is defaulted to 01-JAN-08 for the S_TIME and S_ORDER_TIME column. -
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 -
Error while selecting date from external table
Hello all,
I am getting the follwing error while selecting data from external table. Any idea why?
SQL> CREATE TABLE SE2_EXT (SE_REF_NO VARCHAR2(255),
2 SE_CUST_ID NUMBER(38),
3 SE_TRAN_AMT_LCY FLOAT(126),
4 SE_REVERSAL_MARKER VARCHAR2(255))
5 ORGANIZATION EXTERNAL (
6 TYPE ORACLE_LOADER
7 DEFAULT DIRECTORY ext_tables
8 ACCESS PARAMETERS (
9 RECORDS DELIMITED BY NEWLINE
10 FIELDS TERMINATED BY ','
11 MISSING FIELD VALUES ARE NULL
12 (
13 country_code CHAR(5),
14 country_name CHAR(50),
15 country_language CHAR(50)
16 )
17 )
18 LOCATION ('SE2.csv')
19 )
20 PARALLEL 5
21 REJECT LIMIT UNLIMITED;
Table created.
SQL> select * from se2_ext;
SQL> select count(*) from se2_ext;
select count(*) from se2_ext
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04043: table column not found in external source: SE_REF_NO
ORA-06512: at "SYS.ORACLE_LOADER", line 19It would appear that you external table definition and the external data file data do not match up. Post a few input records so someone can duplicate the problem and determine the fix.
HTH -- Mark D Powell -- -
Error while querying the external tables in 9i
i am working on a project on Oracle 9iR2 on Linux AS 3.0, i am in urgent need to port my data in text files for using in the DB
I have created an external table using the following script. While executing a query it gives the following error. Pls Hlp
create table ap_info_ex
(ser_no number(7),
no_of_sps number(1),
hpy_liq_mm number(2),
rmp_rnk_cd number(1),
ir number(3),
dps_flg varchar2(1))
organization external
(type oracle_loader
default directory aps_jul
access parameters (records delimited by newline
fields terminated by ","
(sno char,
no_sps char,
hpy_mm char,
rmp_rnk char,
ir char,
dpsflg char))
location ('info.txt'));
Table has been created successfully
but when i execute a query say
select * from ap_info_ex;
THIS IS THE ERROR MESSAGE I AM GETTING
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04063: unable to open log file AP_INFO_EX_6151.log
OS error Permission denied
ORA-06512: at "SYS.ORACLE_LOADER", line 14
ORA-06512: at line 1
hope you would help me. i am greateful for that.Arun,
Here are the things you could do.
1. You may want to specify a logfile in your access parameters using the command 'logfile'.
For example,
logfile 'info.log'. You could create the file in advance and provide appropriate permissions to the operating system user(In unix, I use the commands 'touch' and 'chmod').
2. You could specify the command
'NOLOGFILE' in your access parameters.
3. Provide permissions for the user to create files in the folder associated with the directory object 'aps_jul'. -
How to ''give'' error for this case of an EXTERNAL TABLE?
Our external table routine works fine:
-- We have a csv file with 2 cols.
-- When we create the table referring the csv it works fine.
-- Even if the csv has more the 2 cols, the ET command only takes the 2 cols and it works fine.
-- Now, users are saying that if the csv has more than 2 cols, the ET command should give an error
I went through the command but cannot find any clause which will do this.
Is there any other way or workaround?
CREATE TABLE <table_name> (
<column_definitions>)
ORGANIZATION EXTERNAL
(TYPE oracle_loader
DEFAULT DIRECTORY <oracle_directory_object_name>
ACCESS PARAMETERS (
RECORDS DELIMITED BY newline
BADFILE <file_name>
DISCARDFILE <file_name>
LOGFILE <file_name>
[READSIZE <bytes>]
[SKIP <number_of_rows>
FIELDS TERMINATED BY '<terminator>'
REJECT ROWS WITH ALL NULL FIELDS
MISSING FIELD VALUES ARE NULL
(<column_name_list>))\
LOCATION ('<file_name>'))
[PARALLEL]
REJECT LIMIT <UNLIMITED | integer>;
Is it possible to use the READSIZE?
Edited by: Channa on Sep 23, 2010 2:28 AM-- Now, users are saying that if the csv has more than 2 cols, the ET command should give an error
I went through the command but cannot find any clause which will do this.
Is there any other way or workaround?I looked at Serverprocess' sql*loader script and did not see how that would answer your question - how to raise an error if the file has more than 2 columns. If I missed something can Serverprocess explain?
I can't think of a direct way to do this with your external table either, but there may be indirect ways. Some brainstorming ideas of perhaps dubious usefulness follow.
Placing a view over the external table can limit results to the first two columns but won't raise an error.
A pipelined function can read the external table, check for data where there shouldn't be any, and raise an exception when you find data in columns where there should not be any.
Similarly, you could ditch the external table and use utl_file to read the file, manually parsing and checking the data. LOTS more work but more control on your end. External tables are much easer to use :(
Or, first load the external table into a work table before the "real" select. Check the work table for the offending data programatically and raise an error if data is where it should not be. You could keep the existing external table and not have to do a lot of recoding.
Or, also load the data into an otherwise unneeded global temporary table first. Use a trigger on the load to look for the unwanted data and raise an error if offending data is there
These ideas are boiling down to variations on validating the data before you use it.
Good luck!
Maybe you are looking for
-
Need help with hyperlinks in InDesign CS3 to PDF
I've done everything I can see in the forums, in the InDesign help and in InDesign for Dummies... but other than spelling out the entire URL in the text (IE where you can see it in the document) I cannot get a URL hyperlink to work after exporting it
-
Hello all, Can we specify Encoding in the OPEN DATA SET statement,i found out that we can encode it with UTF-8. but i want to encode my data in Latin1 ISO-8859-1. is it possible? if yes how to do it? plz help its urgent:(
-
Hi all I am trying to configure a workflow for PO release , the Business object am using is BUS2012 in ECC6.0 Whenever a PO is rejected i need to send the work item to the user(Workflow initiator) who created the PO . I created a standard task and i
-
Where to find the error code in your language.
For the DBA whose native language is not English, sometimes read the error code in your language can be helpful. I give you to know this website where you can find the oracle error codes in 15 languages: Spanish, French, German, Portuguese, Swedish,
-
I have some chrages on my debit card by error how can i avoid this charges
i have some charges in my debit card by error how can i avoid this charges.... i reset my password as an email said with that resert the charges won´t be reflected in my account?