SQL*Loader-522
Can anyone tell me what this means, or direct me to a tutorial on this matter.
I used it to upload lots of files and there are a couple of files where I get this error message :
SQL*Loader-522: lfiopn failed for file (bnbdk.BAD)
Greetings Daffyrinzwind
SQL*Loader-522: lfiopn failed for file (name)
Cause: LFI failed to open the file.
Action: Check for any possible operating system errors and/or potential memory problems.
Similar Messages
-
Where is SQL*Loader error message in oracle 8i documentation?
I have error message which is SQL*Loader-522: lfiopn failed for
file (D:\xiaw\Badfiles\faculty_info.BAD). I can't find the
solution from oracle 8i documentation. Can someboday help me?
Thanks
weiWei:
They're in Chapter 24 of the Error Messages manual:
SQL*Loader-00522 lfiopn failed for file (string)
Cause: LFI failed to open the file.
Action: Check for any possible operating system errors and/or
potential memory problems.
Hope this helps.
Peter -
Multibyte character error... (SQL*Loader)
Hi,
I am getting error while loading data via SQL*Loader:
"Multibyte character error." while loading data from flat files comgin from mailframe into oracle 10g Rel2 with character set AL32UTF8
here is my .ctl loader file
OPTIONS (ERRORS=9999, ROWS=500, BINDSIZE=65536, SILENT=(FEEDBACK) )
LOAD DATA
APPEND
INTO TABLE GLSTB270
GLS27001_CONUMBER POSITION(0001:0011)
, GLS27002_STORE POSITION(0012:0012)
, GLS27003_STATUS POSITION(0013:0013)
, GLS27004_CUST_TYPE POSITION(0014:0014)
, GLS27005_EXTERN POSITION(0015:0025)
, GLS27006_ADD_DATE POSITION(0026:0039) DATE "yyyymmddhh24miss"
, GLS27007_EXTCUST POSITION(0040:0071)
, GLS27008_LPICKCHRO POSITION(0072:0073)
, GLS27009_LAST_ITEM POSITION(0074:0075)
, GLS27010_DLVADD1 POSITION(0076:0107)
, GLS27011_DLVADD2 POSITION(0108:0139)
, GLS27012_DLVADD3 POSITION(0140:0171)
, GLS27013_DLVPOSTAL POSITION(0172:0181)
, GLS27014_DLVCOUNTY POSITION(0182:0213)
, GLS27015_DLVCNTRY POSITION(0214:0215)
, GLS27016_SPECADD POSITION(0216:0216)
, GLS27017_GROUPING POSITION(0217:0217)
, GLS27018_CO_TYPE POSITION(0218:0218)
, GLS27019_QUOTATION POSITION(0219:0226) DATE "yyyymmdd"
NULLIF (GLS27019_QUOTATION = "00000000")
, GLS27020_USHIP POSITION(0227:0227)
, GLS27021_CONFIRM POSITION(0228:0228)
, GLS27022_UNUDEMAND POSITION(0229:0229)
, GLS27023_FREECHARG POSITION(0230:0230)
, GLS27024_CONF_DATE POSITION(0231:0238) DATE "yyyymmdd"
NULLIF (GLS27024_CONF_DATE = "00000000")
, GLS27025_CONTACT POSITION(0239:0270)
, GLS27026_LICENCE POSITION(0271:0290)
, GLS27027_WARRANT POSITION(0291:0291)
, GLS27028_WARR_AUTH POSITION(0292:0301)
, GLS27029_CURRENCY POSITION(0302:0304)
, GLS27030_FSE POSITION(0305:0310)
, GLS27031_CARRIER POSITION(0311:0320)
, GLS27032_MANPRICIN POSITION(0321:0321)
, GLS27033_ADD_USER POSITION(0322:0329)
, GLS27034_AUTO_INV POSITION(0330:0330)
, GLS27035_PRIFACT POSITION(0331:0338)
, GLS27036_CRELETTER POSITION(0339:0353)
, GLS27025_CONTACT POSITION(0239:0270)
, GLS27026_LICENCE POSITION(0271:0290)
, GLS27027_WARRANT POSITION(0291:0291)
, GLS27028_WARR_AUTH POSITION(0292:0301)
, GLS27029_CURRENCY POSITION(0302:0304)
, GLS27030_FSE POSITION(0305:0310)
, GLS27031_CARRIER POSITION(0311:0320)
, GLS27032_MANPRICIN POSITION(0321:0321)
, GLS27033_ADD_USER POSITION(0322:0329)
, GLS27034_AUTO_INV POSITION(0330:0330)
, GLS27035_PRIFACT POSITION(0331:0338)
, GLS27036_CRELETTER POSITION(0339:0353)
, GLS27037_SHIPMENT POSITION(0354:0354)
, GLS27038_DIVISION POSITION(0355:0356)
, GLS27039_ACCREF POSITION(0357:0365)
, GLS27040_EXPENSE POSITION(0366:0366)
, GLS27041_ALREADY POSITION(0367:0367)
, GLS27042_SITE POSITION(0368:0375)
, GLS27043_SITE_DES POSITION(0376:0395)
, GLS27044_ADDTYPE POSITION(0396:0396)
, GLS27045_PROJECT POSITION(0397:0406)
, GLS27046_SITE_DOWN POSITION(0407:0407)
, GLS27047_QUOTATION POSITION(0408:0408)
, GLS27048_DELIVERY POSITION(0409:0428)
, GLS27049_CONSPERM POSITION(0429:0429)
, GLS27050_CHARACT POSITION(0430:0432)
, GLS27051_CONTRACT POSITION(0433:0434)
, GLS27052_FSE POSITION(0435:0435)
, GLS27053_SYSTEM POSITION(0436:0445)
, GLS27054_SYSTEM_D POSITION(0446:0465)
, GLS27055_JOBSTATUS POSITION(0466:0468)
, GLS27056_BO_L_CHRO POSITION(0469:0470)
, GLS27057_BUYER POSITION(0471:0480)
, GLS27058_SCREASON POSITION(0481:0481)
, GLS27059_L_M_DATE POSITION(0482:0495) DATE "yyyymmddhh24miss"
, GLS27061_L_M_USER POSITION(0496:0503)
, GLS27062_SCREEN POSITION(0504:0507)
, GLS27063_CUST_EXP POSITION(0508:0508)
, GLS270F1_GLS08001 POSITION(0509:0509)
, GLS270F2_GLS08002 POSITION(0510:0511)
, GLS270F3_GLS25001 POSITION(0512:0512)
, GLS270F4_GLS25002 POSITION(0513:0522)
)and here is the .log file containing error msg for sql*loader:
SQL*Loader: Release 9.2.0.8.0 - Production on Thu Apr 5 15:35:21 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Control File: /opt/oracle/test/admin/glsdbt01/load/glstb270.ctl
Data File: /opt/oracle/test/admin/glsdbt01/download2/GLSTB270.ZZ.CRE
Bad File: /dblog02/glsdbt01/load/results/glsltb270zz.bad
Discard File: /dblog02/glsdbt01/load/results/glsltb270zz.dis
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 9999
Continuation: none specified
Path used: Direct
Silent options: FEEDBACK
Table GLSTB270, loaded from every logical record.
Insert option in effect for this table: APPEND
Column Name Position Len Term Encl Datatype
GLS27001_CONUMBER 1:11 11 CHARACTER
GLS27002_STORE 12:12 1 CHARACTER
GLS27003_STATUS 13:13 1 CHARACTER
GLS27004_CUST_TYPE 14:14 1 CHARACTER
GLS27005_EXTERN 15:25 11 CHARACTER
GLS27006_ADD_DATE 26:39 14 DATE yyyymmddhh24miss
GLS27007_EXTCUST 40:71 32 CHARACTER
GLS27008_LPICKCHRO 72:73 2 CHARACTER
GLS27009_LAST_ITEM 74:75 2 CHARACTER
GLS27010_DLVADD1 76:107 32 CHARACTER
GLS27011_DLVADD2 108:139 32 CHARACTER
GLS27012_DLVADD3 140:171 32 CHARACTER
GLS27013_DLVPOSTAL 172:181 10 CHARACTER
GLS27014_DLVCOUNTY 182:213 32 CHARACTER
GLS27015_DLVCNTRY 214:215 2 CHARACTER
GLS27016_SPECADD 216:216 1 CHARACTER
GLS27017_GROUPING 217:217 1 CHARACTER
GLS27018_CO_TYPE 218:218 1 CHARACTER
GLS27019_QUOTATION 219:226 8 DATE yyyymmdd
NULL if GLS27019_QUOTATION = 0X3030303030303030(character '00000000')
GLS27020_USHIP 227:227 1 CHARACTER
GLS27020_USHIP 227:227 1 CHARACTER
GLS27021_CONFIRM 228:228 1 CHARACTER
GLS27022_UNUDEMAND 229:229 1 CHARACTER
GLS27023_FREECHARG 230:230 1 CHARACTER
GLS27024_CONF_DATE 231:238 8 DATE yyyymmdd
NULL if GLS27024_CONF_DATE = 0X3030303030303030(character '00000000')
GLS27025_CONTACT 239:270 32 CHARACTER
GLS27026_LICENCE 271:290 20 CHARACTER
GLS27027_WARRANT 291:291 1 CHARACTER
GLS27028_WARR_AUTH 292:301 10 CHARACTER
GLS27029_CURRENCY 302:304 3 CHARACTER
GLS27030_FSE 305:310 6 CHARACTER
GLS27031_CARRIER 311:320 10 CHARACTER
GLS27032_MANPRICIN 321:321 1 CHARACTER
GLS27033_ADD_USER 322:329 8 CHARACTER
GLS27034_AUTO_INV 330:330 1 CHARACTER
GLS27035_PRIFACT 331:338 8 CHARACTER
GLS27036_CRELETTER 339:353 15 CHARACTER
GLS27037_SHIPMENT 354:354 1 CHARACTER
GLS27038_DIVISION 355:356 2 CHARACTER
GLS27039_ACCREF 357:365 9 CHARACTER
GLS27040_EXPENSE 366:366 1 CHARACTER
GLS27041_ALREADY 367:367 1 CHARACTER
GLS27042_SITE 368:375 8 CHARACTER
GLS27043_SITE_DES 376:395 20 CHARACTER
GLS27044_ADDTYPE 396:396 1 CHARACTER
GLS27045_PROJECT 397:406 10 CHARACTER
GLS27046_SITE_DOWN 407:407 1 CHARACTER
GLS27047_QUOTATION 408:408 1 CHARACTER
GLS27048_DELIVERY 409:428 20 CHARACTER
GLS27049_CONSPERM 429:429 1 CHARACTER
GLS27050_CHARACT 430:432 3 CHARACTER
GLS27051_CONTRACT 433:434 2 CHARACTER
GLS27052_FSE 435:435 1 CHARACTER
GLS27053_SYSTEM 436:445 10 CHARACTER
GLS27054_SYSTEM_D 446:465 20 CHARACTER
GLS27055_JOBSTATUS 466:468 3 CHARACTER
GLS27056_BO_L_CHRO 469:470 2 CHARACTER
GLS27057_BUYER 471:480 10 CHARACTER
GLS27058_SCREASON 481:481 1 CHARACTER
GLS27059_L_M_DATE 482:495 14 DATE yyyymmddhh24miss
GLS27061_L_M_USER 496:503 8 CHARACTER
GLS27062_SCREEN 504:507 4 CHARACTER
GLS27063_CUST_EXP 508:508 1 CHARACTER
GLS27063_CUST_EXP 508:508 1 CHARACTER
GLS270F1_GLS08001 509:509 1 CHARACTER
GLS270F2_GLS08002 510:511 2 CHARACTER
GLS270F3_GLS25001 512:512 1 CHARACTER
GLS270F4_GLS25002 513:522 10 CHARACTER
Record 20405: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20418: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20419: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20420: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20425: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20426: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20436: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20452: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20481: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20482: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20483: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20484: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20485: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20486: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20487: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20494: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20499: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20502: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.
Record 20503: Rejected - Error on table GLSTB270, column GLS27043_SITE_DES.
Multibyte character error.Can you pls help..?
thanksHi Werner,
on my linux desktop:
$ file test.dat
test.dat: UTF-8 Unicode text, with very long lines
my colleague is working on a windows system.
On both systems exact the same error from SQL Loader.
Btw, try with different number of special characters (german umlaute and euro) and there is no chance to load without the error
when to many (?) special characters or data is long as column length and special characters included.
Regards
Michael -
How to load a default value in to a column when using sql loader
Im trying to load from a flat file using sql loader.
for 1 column i need to update using a default value
how to go about this?Hi!
try this code --
LOAD DATA
INFILE 'sample.dat'
REPLACE
INTO TABLE emp
empno POSITION(01:04) INTEGER EXTERNAL NULLIF empno=BLANKS,
ename POSITION(06:15) CHAR,
job POSITION(17:25) CHAR,
mgr POSITION(27:30) INTEGER EXTERNAL NULLIF mgr=BLANKS,
sal POSITION(32:39) DECIMAL EXTERNAL NULLIF sal=BLANKS,
comm POSITION(41:48) DECIMAL EXTERNAL DEFAULTIF comm = 100,
deptno POSITION(50:51) INTEGER EXTERNAL NULLIF deptno=BLANKS,
hiredate POSITION(52:62) CONSTANT SYSDATE
)-hope this will solve ur purpose.
Regards.
Satyaki De. -
How can we tell if SQL*Loader is working on a TABLE?
We have a process that requires comparing batches with LDAP information. Instead of using an LDAP lookup tool, we get a nightly directory file, and import the two COLUMNs we want via SQL*Loader (REPLACE) into an IOT. Out of three cases, two just check the first COLUMN, and the third needs the second COLUMN as well.
We did not think of using External TABLEs, because we cannot store files on the DB server itself.
The question arises, what to do while the file is being imported. The file is just under 300M, so it takes a minute or so to replace all the data. We found SQL*Loader waits until a transaction is finished before starting, but a query against the TABLE only waits while it is actually importing the data. At the beginning of SQL*Loader's process, however, a query against the TABLE returns no rows.
The solution we are trying right now is, to have the process that starts SQL*Loader flip a flag in another TABLE denoting that it is unavailable. When it is done, it flips it back, and notes the date. Then, the process that queries the information, exits if the flag is currently 'N'.
The problem, is, what if SQL*Loader starts inbetween the check of the flag, and the query against the TABLE. How do we guarantee that it is still not being imported.
I can think of three solutions:
1) LOCK the ldap information TABLE before checking the flag.
2) LOCK the record that the process starting SQL*Loader flips.
3) Add a clause to the query against the TABLE checks that there are records in the TABLE (AND EXISTS(SELECT * FROM ldap_information).
The problem with 3) is that the process has already tagged the batches (via a COLUMN). It could, technically reset them afterwards, but that seems a bit backwards.Just out of curiosity, are you aware that Oracle supplies a DBMS_LDAP package for pulling information from LDAP sources? It would obviously be relatively easy to have a single transaction that deletes the existing data, loads the new data via DBMS_LDAP, and commits, which would get around the problem you're having with SQL*Loader truncating the table.
You could also have SQL*Loader load the data into a staging table and then have a second process either MERGE the changes from the staging table into the real table (again in a transactionally consistent manner) or just delete and insert the data.
Justin -
Loading two tables at same time with SQL Loader
I have two tables I would like to populate from a file C:\my_data_file.txt.
Many of the columns I am loading into both tables but there are a handful of columns I do not want. The first column I do not want for either table. My problem is how I can direct SQL Loader to go back to the first column and skip over it. I had tried using POSITION(1) and FILLER for the first column while loading the second table but I got THE following error message:
SQL*Loader-350: Syntax error at line 65
Expecting "," or ")" found keyword Filler
col_a Poistion(1) FILLER INTEGER EXTERNALMy control file looks like the following:
LOAD DATA
INFILE 'C:\my_data_file.txt'
BADFILE 'C:\my_data_file.txt'
DISCARDFILE 'C:\my_data_file.txt'
TRUNCATE INTO TABLE table_one
WHEN (specific conditions)
FIELDS TERMINATED BY ' '
TRAILING NULLCOLS
col_a FILLER INTEGER EXTERNAL,
col_b INTEGER EXTERNAL,
col_g FILLER CHAR,
col_h CHAR,
col_date DATE "yyyy-mm-dd"
INTO TABLE table_two
WHEN (specific conditions)
FIELDS TERMINATED BY ' '
TRAILING NULLCOLS
col_a POSITION(1) FILLER INTEGER EXTERNAL,
col_b INTEGER EXTERNAL,
col_g FILLER CHAR,
col_h CHAR,
col_date DATE "yyyy-mm-dd"
)Try adapting this for your scenario.
tables for the test
create table test1 ( fld1 varchar2(20), fld2 integer, fld3 varchar2(20) );
create table test2 ( fld1 varchar2(20), fld2 integer, fld3 varchar2(20) );
control file
LOAD DATA
INFILE "test.txt"
INTO TABLE user.test1 TRUNCATE
WHEN RECID = '1'
FIELDS TERMINATED BY ' '
recid filler integer external,
fld1 char,
fld2 integer external,
fld3 char
INTO TABLE user.test2 TRUNCATE
WHEN RECID <> '1'
FIELDS TERMINATED BY ' '
recid filler position(1) integer external,
fld1 char,
fld2 integer external,
fld3 char
data for loading [text.txt]
1 AAAAA 11111 IIIII
2 BBBBB 22222 JJJJJ
1 CCCCC 33333 KKKKK
2 DDDDD 44444 LLLLL
1 EEEEE 55555 MMMMM
2 FFFFF 66666 NNNNN
1 GGGGG 77777 OOOOO
2 HHHHH 88888 PPPPP
HTH
RK -
Creating SQL-Loader script for more than one table at a time
Hi,
I am using OMWB 2.0.2.0.0 with Oracle 8.1.7 and Sybase 11.9.
It looks like I can create SQL-Loader scripts for all the tables
or for one table at a time. If I want to create SQL-Loader
scripts for 5-6 tables, I have to either create script for all
the tables and then delete the unwanted tables or create the
scripts for one table at a time and then merge them.
Is there a simple way to create migration scripts for more than
one but not all tables at a time?
Thanks,
Prashant RaneNo there is no multi-select for creating SQL-Loader scripts.
You can either create them separately or create them all and
then discard the one you do not need. -
SQL Loader (Oracle 8.1.5 on Suse 6.3) Internal Error
Hi all,
I try to insert data with SQL Loader on Linux (Suse 6.3) and get the following message:
SQL*Loader-704: Internal error: ulmtsyn: OCIStmtExecute (tabhp) [-1073747572]
ORA-00942: table or view does not exist
The control file and data file did work on another platform.
Please help me!
Thanks,
Thies MaukerLee Bennett (guest) wrote:
:Hi
:I have successfully installed Oracle 8.1.5 Enterprise edition
on
:Suse 6.2 and applied the 8.1.5.0.1 patch set,
NO!
SuSe 6.2 have a patch file for Oracle made from their developers.
Never use Oracle 8.1.5.0.1 patch file that doesn't work because
us bugged.
Use SuSe 6.2 Oracle patch set.
(don't remember the web page where you can download it but a
search with word "oracle" from SuSe homepage will lead you to
it)
-Stefano
null -
Decode Not working in sql loader
I had a requirement of loading flatfile into staging table using SQL Loader, One of the columns in the the Flat file is having values FALSE or TRUE and my requirement is that I load 0 for FALSE and 1 for TRUE which can be achieved by simple DECODE function...I did use decode and tried to load several times but did not work. What might be the problem
LOAD DATA
INFILE 'sql_4ODS.txt'
BADFILE 'SQL_4ODS.badtxt'
APPEND
INTO TABLE members
FIELDS TERMINATED BY "|"
( Person_ID,
FNAME,
LNAME,
Contact,
status "decode(:status, 'TRUE', '1','FALSE','0')"
I did try putting a trim as well as SUBSTR but did not work....the cloumn just doent get any values in the output (just null or say free space)
Any help would be great.....Hello user8937215.
Please provide a create table statement and a sample of data file contents. I would expect DECODE or CASE to work based on the information provided.
Cheers,
Luke
Please mark the answer as helpful or answered if it is so. If not, provide additional details.
Always try to provide create table and insert table statements to help the forum members help you better. -
SQL*Loader and DECODE function
Hi All,
I am loading data from data files into oracle tables and while loading the data using SQL*Loader, the following requirement needs to be fulfilled.
1) If OQPR < 300, RB = $ 0-299, SC = "SC1"
2) If 300 < OQPR < 1200, RB = $ 300-1199, SC = "SC2"
3) If 1200 < OQPR < 3000, RB = $ 1200-2999, SC = "SC3"
4) If OQPR > 3000 USD, RB = > $3000, SC = "SC4"
Here OPQR is a field in the data file.
Can anyone suggest how do we handle this using DECODE function? Triggers and PL/SQL functions are not to be used.
TIA.
Regards,
Ravi.The following expression gives you different values for your different intervals and boundaries :
SIGN(:OQPR - 300) + SIGN(:OQPR - 1200) + SIGN(:OQPR - 3000) -
SQL Loader Inserts chr(13) and chr(10) in the first column of every row.
Hi,
I have exported a data in a pipe delimited file using TOAD in one database. Now I want to load the data in my local database using SQL Loader. However every time I try to load the data a double quote followed by a new line is entered for the first column of each row. Unfortunately the delimited file is very big and hence can't be posted here. However I tried the same with a customized table and its data and found the same problem. Below are the table structures and control file that I used.
create table test_sql
a varchar2(30),
b date
insert into test_sql values('51146263',sysdate-3);
insert into test_sql values('51146261,sysdate-1);
EXPORTED PIPE DELIMITED FILE_
A|B|!##!
51146261|04/14/13 4:55:18 PM|!##!
51146263|04/12/13 4:55:32 PM|!##!
create table test_sql1 as select * from test_sql where 1=2;
CONTROL FILE_
OPTIONS(SKIP=1)
LOAD DATA
INFILE 'C:\Users\Prithwish\Desktop\Test.txt' "str '!##!'"
PRESERVE BLANKS
INTO TABLE TEST_SQL1
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
A CHAR(2000),
B DATE "MM/DD/YYYY HH12:MI:SS AM"
select * from TEST_SQL1;
After this when I paste it in notepad I get the following result
A B
51146261" 14-APR-0013 16:55:18
51146263" 12-APR-0013 16:55:32.
I have no idea how the quotes or the newline appear. Is this a Toad bug? Any help would be greatly appreciated. Really urgent.
Thanks in advance
RegardsHi Harry,
I actually thought that the str !##! was causing the problem. Actually my original export has some new lines in some specific columns so I can't keep the new line as my line terminator and hence I kept the !##! as my terminator.
When I put the same data in a notepad and load it there is no problem at all. For e.g I just typed the following in a notepad and the data loaded just fine.
A|B|!##!
51146261|01-01-01 10:10:10 AM|!##!
51146263|01-01-01 11:11:11 AM|!##!
Its just when I load the exported file there the problem arises though I have verified the file using UNIX as well using octal dump and found no hidden characters.
Regards,
Prithwish -
Load XML File into temporary tables using sql loader
Hi All,
I have an XML file as below. I need to insert the contents into a temporary staging table using sql loader. Please advice how I need to do that.
For example Portfolios should go into a seperate table, and all the tags inside it should be populated in the columns of the table.
Family should go into a seperate table and all the tags inside it should be populated in the columns of the table.
Similarly offer, Products etc.
- <ABSProductCatalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <ProductSalesHierachy>
- <Portfolios>
- <Portfolio productCode="P1">
<Attribute name="CatalogProductName" value="Access" />
<Attribute name="Status" value="Active" />
</Portfolio>
- <Portfolio productCode="P2">
<Attribute name="CatalogProductName" value="Data" />
<Attribute name="Status" value="Active" />
</Portfolio>
- <Portfolio productCode="P3">
<Attribute name="CatalogProductName" value="Voice" />
<Attribute name="Status" value="Active" />
</Portfolio>
- <Portfolio productCode="P4">
<Attribute name="CatalogProductName" value="Wireless" />
<Attribute name="Status" value="Active" />
</Portfolio>
</Portfolios>
- <Families>
- <Family productCode="F1">
<Attribute name="CatalogProductName" value="Internet Access Services" />
<Attribute name="Status" value="Active" />
- <ParentHierarchy>
<Item productCode="P1" modelType="Portfolio" />
</ParentHierarchy>
</Family>
- <Family productCode="F2">
<Attribute name="CatalogProductName" value="Local Access Services" />
<Attribute name="Status" value="Active" />
- <ParentHierarchy>
<Item productCode="P2" modelType="Portfolio" />
</ParentHierarchy>
</Family>
</Families>
- <SubFamilies>
- <SubFamily productCode="SF1">
<Attribute name="CatalogProductName" value="Business Internet service" />
<Attribute name="Status" value="Active" />
- <ParentHierarchy>
<Item productCode="F1" modelType="Family" />
</ParentHierarchy>
</SubFamily>
</SubFamilies>
- <ProductRefs>
- <ProductRef productCode="WSP1" modelType="Wireline Sales Product">
<ActiveFlag>Y</ActiveFlag>
- <ProductHierarchy>
<SalesHierarchy family="F1" subFamily="SF1" portfolio="P1" primary="Y" />
<SalesHierarchy family="F2" portfolio="P2" primary="N" />
<FinancialHierarchy quotaBucket="Voice" strategicProdCategory="Local Voice" />
</ProductHierarchy>
</ProductRef>
- <ProductRef productCode="MSP2" modelType="Handset">
<ActiveFlag>Y</ActiveFlag>
- <ProductHierarchy>
<SalesHierarchy portfolio="P4" primary="Y" />
</ProductHierarchy>
</ProductRef>
</ProductRefs>
</ProductSalesHierachy>
- <Offers>
- <Offer productCode="ABN">
<OfferName>ABN</OfferName>
<OfferDescription>ABN Description</OfferDescription>
- <Segments>
<Segment>SCG</Segment>
<Segment>PCG</Segment>
</Segments>
<OfferUpdateDate>2009-11-20</OfferUpdateDate>
<ActiveFlag>Y</ActiveFlag>
</Offer>
- <Offer productCode="OneNet">
<OfferName>OneNet</OfferName>
<OfferDescription>OneNet Description</OfferDescription>
- <Segments>
<Segment>SCG</Segment>
<Segment>PCG</Segment>
<Segment>PCG2</Segment>
</Segments>
<OfferUpdateDate>2009-11-20</OfferUpdateDate>
<ActiveFlag>Y</ActiveFlag>
</Offer>
</Offers>
- <Products>
- <Product productCode="WSP1" modelType="Wireline Sales Product">
<ProductName>AT&T High Speed Internet</ProductName>
<ProductDescription>High Speed Internet</ProductDescription>
<LegacyCoProdIndicator>SBC</LegacyCoProdIndicator>
<RevenueCBLCode>1234B</RevenueCBLCode>
<VolumeCBLCode>4567A</VolumeCBLCode>
<SAARTServiceIDCode>S1234</SAARTServiceIDCode>
<MarginPercentRequired>Y</MarginPercentRequired>
<PercentIntl>%234</PercentIntl>
<UOM>Each</UOM>
<PriceType>OneTime</PriceType>
<ProductStatus>Active</ProductStatus>
<Compensable>Y</Compensable>
<Jurisdiction>Everywhere</Jurisdiction>
<ActiveFlag>Y</ActiveFlag>
- <Availabilities>
<Availability>SE</Availability>
<Availability>E</Availability>
</Availabilities>
- <Segments>
<Segment>SCG</Segment>
<Segment>PCG</Segment>
</Segments>
<VDIndicator>Voice</VDIndicator>
<PSOCCode>PSOC 1</PSOCCode>
<USBilled>Y</USBilled>
<MOWBilled>N</MOWBilled>
<ProductStartDate>2009-11-20</ProductStartDate>
<ProductUpdateDate>2009-11-20</ProductUpdateDate>
<ProductEndDate>2010-11-20</ProductEndDate>
- <AliasNames>
<AliasName>AT&T HSI</AliasName>
<AliasName>AT&T Fast Internet</AliasName>
</AliasNames>
- <OfferTypes>
<OfferType productCode="ABN" endDate="2009-11-20" />
<OfferType productCode="OneNet" />
</OfferTypes>
- <DynamicAttributes>
- <DynamicAttribute dataType="String" defaultValue="2.5 Mbps" name="Speed">
<AttrValue>1.5 Mbps</AttrValue>
<AttrValue>2.5 Mbps</AttrValue>
<AttrValue>3.5 Mbps</AttrValue>
</DynamicAttribute>
- <DynamicAttribute dataType="String" name="TransportType">
<AttrValue>T1</AttrValue>
</DynamicAttribute>
</DynamicAttributes>
</Product>
- <Product productCode="MSP2" modelType="Handset">
<ProductName>Blackberry Bold</ProductName>
<ProductDescription>Blackberry Bold Phone</ProductDescription>
<LegacyCoProdIndicator />
<RevenueCBLCode />
<VolumeCBLCode />
<SAARTServiceIDCode />
<MarginPercentRequired />
<PercentIntl />
<UOM>Each</UOM>
<PriceType />
<ProductStatus>Active</ProductStatus>
<Compensable />
<Jurisdiction />
<ActiveFlag>Y</ActiveFlag>
- <Availabilities>
<Availability />
</Availabilities>
- <Segments>
<Segment>SCG</Segment>
<Segment>PCG</Segment>
</Segments>
<VDIndicator>Voice</VDIndicator>
<PSOCCode />
<USBilled />
<MOWBilled />
<ProductStartDate>2009-11-20</ProductStartDate>
<ProductUpdateDate>2009-11-20</ProductUpdateDate>
- <AliasNames>
<AliasName />
</AliasNames>
- <OfferTypes>
<OfferType productCode="ABN" />
</OfferTypes>
- <DynamicAttributes>
- <DynamicAttribute dataType="String" name="StlmntContractType">
<AttrValue />
</DynamicAttribute>
- <DynamicAttribute dataType="String" name="BMG 2 year price">
<AttrValue>20</AttrValue>
</DynamicAttribute>
- <DynamicAttribute dataType="String" name="MSRP">
<AttrValue>40</AttrValue>
</DynamicAttribute>
- <DynamicAttribute dataType="String" name="BMGAvailableType">
<AttrValue />
</DynamicAttribute>
- <DynamicAttribute dataType="String" name="ProductId">
<AttrValue>123456</AttrValue>
</DynamicAttribute>
- <DynamicAttribute dataType="String" name="modelSource">
<AttrValue>product</AttrValue>
</DynamicAttribute>
</DynamicAttributes>
</Product>
</Products>
<CatalogChanged>Y</CatalogChanged>
</ABSProductCatalog>Two options that come to mind. Others exist.
#1 - {thread:id=474031}, which is basically storing the XML in an Object Relational structure for parsing
#2 - Dump the XML into either an XMLType based table or column and use SQL (with XMLTable) to create a view that parses the data. This would be the same as the view shown in the above post.
Don't use sql*loader to parse the XML. I was trying to find a post from mdrake about that but couldn't. In short, sql*loader was not build as an XML parser so don't try to use it that way. -
All,
I have two tables HEADER_TABLE and LINE_TABLE. Each header record can have multiple line records. I have to load data from a flat file to these tables.Flat file can have two types of records. H-Header, L-Line. It looks as follows.. Each H record can have multiple corresponding L records
H..........
L.......
L......
L......
H.........
L.......
L......
L......
I have HEADER_ID column in HEADER_TABLE and HEADER_ID, LINE_ID columns in the LINE_TABLE.
While loading data using SQL Loader, I need to generate HEADER_ID and LINE_ID values as follows and load them.
H..........<HEADER_ID = 1>
L....... <HEADER_ID = 1><LINE_ID = 1>
L...... <HEADER_ID = 1><LINE_ID = 2>
L...... <HEADER_ID = 1><LINE_ID = 3>
H......... <HEADER_ID = 2>
L....... <HEADER_ID = 2><LINE_ID = 4>
L...... <HEADER_ID = 2><LINE_ID = 5>
L...... <HEADER_ID = 2><LINE_ID = 6>
Is it possible to do this with SQL LODER?
I tried to do this with sequences. But it loaded the tables as follows.
H..........<HEADER_ID = 1>
L....... <HEADER_ID = 1><LINE_ID = 1>
L...... <HEADER_ID = 1><LINE_ID = 2>
L...... <HEADER_ID = 1><LINE_ID = 3>
H......... <HEADER_ID = 2>
L....... <HEADER_ID = 1><LINE_ID = 4>
L...... <HEADER_ID = 1><LINE_ID = 5>
L...... <HEADER_ID = 1><LINE_ID = 6>
Thanks
KethaMorgan,
Examples given in the link are quite generic and I have tried them. But my requirement is focused on generating header_id and line_id values as i have described. It seems that SQLLDR scans all records for a particular WHEN clause and insert them into the specified table. I think that if SQLLDR is made to read recod in the data file sequentially, this can be done.
ANy idea of how to make SQLLDR read the records from the file sequentially?
Thanks
Ketha -
Invokin SQL*Loader from a stored procedure
I try to invoke SQL*LOADER from within a database package by using external C procedure (the procedure calls the system() C function) but the loader generates the following error in its log file :
SQL*Loader -523: error -2 writing to file (STDERR)
and no data is uploaded.
I have tried to use system() from within database procedures to execute OS commands and it works. Does anyone know what is the problem with using system() to execute "sqlldr <parameters>"? Is there some other way to call the loader from within a stored PL/SQL procedure?
Thank you very much for your help.
Aneta Valova
nullHi
What is your task and why you are trying to invoke SQL*Loader from strorage procedure or package? Maybe the redirecting of stderr will resolve your problem but thik is it the best way to do your job.
I am not sure, that invoking other executables from Oracle instance is good idea.
Regards
null -
Problem with SQL*Loader and different date formats in the same file
DB: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
System: AIX 5.3.0.0
Hello,
I'm using SQL*Loader to import semi-colon separated values into a table. The files are delivered to us by a data provider who concatenates data from different sources and this results in us having different date formats within the same file. For example:
...;2010-12-31;22/11/1932;...
I load this data using the following lines in the control file:
EXECUTIONDATE1 TIMESTAMP NULLIF EXECUTIONDATE1=BLANKS "TO_DATE(:EXECUTIONDATE1, 'YYYY-MM-DD')",
DELDOB TIMESTAMP NULLIF DELDOB=BLANKS "TO_DATE(:DELDOB, 'DD/MM/YYYY')",
The relevant NLS parameters:
NLS_LANGUAGE=FRENCH
NLS_DATE_FORMAT=DD/MM/RR
NLS_DATE_LANGUAGE=FRENCH
If I load this file as is the values loaded into the table are 31 dec 2010 and 22 nov *2032*, aven though the years are on 4 digits. If I change the NLS_DATE_FORMAT to DD/MM/YYYY then the second date value will be loaded correctly, but the first value will be loaded as 31 dec *2020* !!
How can I get both date values to load correctly?
Thanks!
SylvainThis is very strange, after running a few tests I realized that if the year is 19XX then it will get loaded as 2019, and if it is 20XX then it will be 2020. I'm guessing it may have something to do with certain env variables that aren't set up properly because I'm fairly sure my SQL*Loader control file is correct... I'll run more tests :-(
Maybe you are looking for
-
Frozen on re-building library, plus connection problems (Zen Mic
Yes, I read the FAQ :smileytongue: I JUST got my new Zen Micro and started putting songs on it. It started giving me trouble with the connection, but was ok for a little bit. After awhile I couldn't get a connection at all. My computer says there's n
-
Retreiving unavailable values in IPC through CRM_COND_COM_BADI
Hi, I am working on IPC and i require to retrieve values from KOMP and KOMK. As these attributes related to header, item and pricing details are not populated by IPC, i have to do an enhancement. BAdi CRM_COND_COM_BADI is what I am looking at. I do n
-
Do i need to delete my text messages to create more space on phone?
What is considered "other space" on iphone? What should i delete so i can back up phone?
-
I am trying to import movies from jvc mini camcorder? Only records from camera on pc does not see camcorder connected, Have firewire, what next
-
i'd like to suggest to safari team to not include, in italian version of bookmarks, www.wikipedia.it, because that's not the official site, that is it.wikipedia.org. But i can't find a link for writing to safari team. Further reading (in italian): ht