Error in SQLLDR
Hi,
we are getting the following error when trying to use SQLLDR
The error file says the table does not exist although I can see it in the database.
Any ideas?
Oracle DB 9i
SQLLDR 10.2
Load.out
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jan 20 16:30:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Load.log
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jan 20 16:30:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Control File: D:\HFMBACKUP\/LOAD.ctl
Data File: D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TXT
File processing option string: "str X'0D0A'"
Bad File: D:\HFMBACKUP\/LOAD.bad
Discard File: D:\HFMBACKUP\/LOAD.dsc
(Allow 1 discards)
Number to load: ALL
Number to skip: 1
Errors allowed: 0
Continuation: none specified
Path used: Direct
Table ODISTAG."C$_12181010HFMData", loaded from every logical record.
Insert option in effect for this table: INSERT
TRAILING NULLCOLS option in effect
Column Name Position Len Term Encl Datatype
C1_SCENARIO FIRST * ; CHARACTER
C2_YEAR NEXT * ; CHARACTER
C3_VIEW NEXT * ; CHARACTER
C4_ENTITY NEXT * ; CHARACTER
C5_VALUE NEXT * ; CHARACTER
C6_ACCOUNT NEXT * ; CHARACTER
C7_ICP NEXT * ; CHARACTER
C8_PERIOD NEXT * ; CHARACTER
C10_C1 NEXT * ; CHARACTER
C13_C2 NEXT * ; CHARACTER
C9_C3 NEXT * ; CHARACTER
C12_C4 NEXT * ; CHARACTER
C11_VALUE1 NEXT * ; CHARACTER
SQL*Loader-951: Error calling once/load initialization
ORA-00942: table or view does not exist
Load CTL
OPTIONS (
SKIP=1,
ERRORS=0,
DIRECT=TRUE
LOAD DATA
INFILE "D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TXT" "str X'0D0A'"
BADFILE "D:\HFMBACKUP\/LOAD.bad"
DISCARDFILE "D:\HFMBACKUP\/LOAD.dsc"
DISCARDMAX 1
INTO TABLE ODISTAG."C$_12181010HFMData"
FIELDS TERMINATED BY X'3B'
TRAILING NULLCOLS
C1_SCENARIO ,
C2_YEAR ,
C3_VIEW ,
C4_ENTITY ,
C5_VALUE ,
C6_ACCOUNT ,
C7_ICP ,
C8_PERIOD ,
C10_C1 ,
C13_C2 ,
C9_C3 ,
C12_C4 ,
C11_VALUE1
)
Hi,
the log file shows that the insert will be done in table ODISTAG."C$_12181010HFMData"
Die you checked, that this table is owned by user ODISTAG?
Take care about the double qoute. This means, that upper and lowercase in tablename will be used!
Please do a select table_name from user_tables where table_name='C$_12181010HFMData'; in schema ODISTAG. Did you get any record?
Udo
Similar Messages
-
Installing 9iAS on Orcale9i - Followed the document published in OTN -Error in SQLLDR
Hello
I followed the document published in http://portalcenter.oracle.com that describes installing Orcle9iAS 10222 on Oracle9i database.
However, in the last step (just before installing the patch 30982), I am supposed to use Portal configuration Assistant to create PORTAL30 and other accounts. (Win2K)
The PCA stops with the error. INSTALL.LOG gives the following error:
STEP 13 : Installing NLS Messages
INSTALL_ACTION:loadNLS() : ..\..\bin\sqlldr userid='portal30/portal30@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=tmurari-lap)(PORT=1521)))(CONNECT_DATA=(SID=orcl)))' control=..\..\portal30\admin\plsql\wwc\wwcus.ctl
SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
ORA-12532: TNS:invalid argument
However, the previous steps (which uses SQLPLUS (DESCRIPTION=..._ ) works fine. Looks SQLLDR.exe 0ra9ias/bin directory does not understand this type of database descriptor address.
Is there a document which will help me in installing the remaining steps manually? Is there a fix for this without the manual steps.
Please help.
Thanks
Tam.I had a net configuration error in my tnsnames.ora and sqlnet.ora. I fixed it and I was able to install Oracle9iAS 10222 in Oracle9i 9011 database. everything works fine, however, I am having some trouble installing online help.
The release notes in metalink describes a few steps in getting it installed, however, I cannot the very first step working. -
Data error while loading data using SQLLDR
Hi Gurus,
Kindly let em know the possible reasons for getting the below error returned by SQLLDR after loading data:
x no of rows not loaded due to data errors in SQLLDR
Could it be due to issues in control file?you'll find it well explained here :
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14215/part_ldr.htm#i436326
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_concepts.htm#i1004846 -
Error in Loading Data with SQLLDR in Oracle 10G
Hello,
Can any one suggest whats the problem in the below mentioned Control file used for loading data through SQL*LOADER
LOAD DATA
INFILE 'D:\test\temt.txt'
BADFILE 'test.bad'
DISCARDFILE 'test.dsc'
INTO TABLE "TEST"
INSERT
(SRNO INTEGER(7),
PROD_ID INTEGER(10),
PROMO_ID INTEGER(10),
CHANNEL_ID INTEGER(10),
UNIT_COST INTEGER(10),
UNIT_PRICE INTEGER(10)
I am trying to load data in SCOTT schema as user scott.
Why do i get such an error, please refer the attach Log file.
SQL*Loader: Release 10.2.0.1.0 - Production on Fri Mar 20 14:43:35 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Control File: D:\test\temt.ctl
Data File: D:\test\temt.txt
Bad File: test.bad
Discard File: test.dsc
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional
Table "TEST", loaded from every logical record.
Insert option in effect for this table: INSERT
Column Name Position Len Term Encl Datatype
SRNO FIRST 7 INTEGER
PROD_ID NEXT 10 INTEGER
PROMO_ID NEXT 10 INTEGER
CHANNEL_ID NEXT 10 INTEGER
UNIT_COST NEXT 10 INTEGER
UNIT_PRICE NEXT 10 INTEGER
Record 1: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 2: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 3: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 4: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 5: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 6: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 7: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 8: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 9: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 10: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 11: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 12: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 13: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 14: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 15: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 16: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 17: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 18: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 19: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 20: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 21: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 22: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 23: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 24: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 25: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 26: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 27: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 28: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 29: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 30: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 31: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 32: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 33: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 34: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 35: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 36: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 37: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 38: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 39: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 40: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 41: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 42: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 43: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 44: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 45: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 46: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 47: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 48: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 49: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 50: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
Record 51: Rejected - Error on table "TEST".
ORA-01460: unimplemented or unreasonable conversion requested
MAXIMUM ERROR COUNT EXCEEDED - Above statistics reflect partial run.
Table "TEST":
0 Rows successfully loaded.
51 Rows not loaded due to data errors.
0 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Space allocated for bind array: 3648 bytes(64 rows)
Read buffer bytes: 1048576
Total logical records skipped: 0
Total logical records read: 64
Total logical records rejected: 51
Total logical records discarded: 0
Run began on Fri Mar 20 14:43:35 2009
Run ended on Fri Mar 20 14:43:43 2009
Elapsed time was: 00:00:07.98
CPU time was: 00:00:00.28
Below is the method of using SQLLDR and table details,
SQL> desc test
Name Null? Type
SRNO NUMBER(7)
PROD_ID NUMBER(10)
PROMO_ID NUMBER(10)
CHANNEL_ID NUMBER(10)
UNIT_COST NUMBER(10)
UNIT_PRICE NUMBER(10)
Method for using sqlldr is :
cmd promt,
d:\> sqlldr scott/tiger
control = D:\test\temt.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Fri Mar 20 15:55:50 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 64
I even tried few examples,
Which of the below mentioned Control file make sense,
--1
LOAD DATA
INFILE 'D:\test\temt.txt'
BADFILE 'test.bad'
DISCARDFILE 'test.dsc'
INTO TABLE "TEST"
INSERT
FIELD TERMINATED BY (,)
(SRNO INTEGER(7),
PROD_ID INTEGER(10),
PROMO_ID INTEGER(10),
CHANNEL_ID INTEGER(10),
UNIT_COST INTEGER(10),
UNIT_PRICE INTEGER(10)
--2
LOAD DATA
INFILE 'D:\test\temt.txt'
BADFILE 'test.bad'
DISCARDFILE 'test.dsc'
INTO TABLE "TEST"
INSERT
FIELD TERMINATED BY (,) optionally enclosed by '"'
(SRNO INTEGER(7),
PROD_ID INTEGER(10),
PROMO_ID INTEGER(10),
CHANNEL_ID INTEGER(10),
UNIT_COST INTEGER(10),
UNIT_PRICE INTEGER(10)
*For code--1 i get below mentioned error..*
D:\>sqlldr scott/tiger
control = D:\test\temt.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Fri Mar 20 16:36:00 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL*Loader-350: Syntax error at line 8.
Expecting "(", found "FIELD".
FIELD TERMINATED BY (,)
^
*And for code--2 i get the below error,*
D:\>sqlldr scott/tiger
control = D:\test\temt.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Fri Mar 20 16:39:22 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL*Loader-350: Syntax error at line 8.
Expecting "(", found "FIELD".
FIELD TERMINATED BY (,) optionally enclosed by '"'
^
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------below is the data i am trying to load through sqlldr
1,14,999,3,89098,111287
2,14,999,2,88645,110899
3,14,999,2,90418,117623
4,14,999,3,89272,115999
5,14,999,4,86364,117623
6,15,999,3,87522,101399
7,15,999,4,84671,99999
8,15,999,4,84671,99999
9,15,999,4,86364,101399
10,15,999,4,88735,100399
11,15,999,2,90418,101399
12,15,999,3,89272,101399
13,15,999,2,90418,101399
14,17,999,2,9694,155099
15,17,999,3,97618,155099
16,17,999,3,97618,155099
17,18,999,3,11333,169783
18,18,999,2,11479,163279
19,18,999,3,11333,163279
20,18,999,3,115141,173504
21,18,999,2,117086,165565
22,18,999,2,116856,17532
23,18,999,2,117086,169783
24,19,999,4,489,6237
25,19,999,3,4968,6302
26,20,999,2,52876,60839
27,20,999,3,52202,59999
28,20,999,3,53246,59999
29,20,999,3,54205,60209
30,20,999,3,54205,60209
31,21,999,4,76204,106773
32,21,999,4,76204,106773
33,21,999,3,7877,105299
34,21,999,4,76204,106773
35,21,999,4,77576,105668
36,21,999,3,7877,105299
37,21,999,4,76204,105299
38,21,999,2,81377,107595
39,21,999,2,81377,107595
40,21,999,4,77728,107595
41,22,999,3,2187,2656
42,22,999,2,2216,2661
43,22,999,3,2187,2656
44,22,999,2,2251,2632
45,22,999,3,2187,2656
46,22,999,4,2154,2628
47,22,999,3,2187,2656
48,22,999,3,2231,2661
49,22,999,3,2231,2624
50,22,999,2,2296,2632
51,22,999,3,2231,2661
52,22,999,4,2158,2661
53,23,999,3,1913,2408
54,23,999,3,1951,2375
55,23,999,3,1987,2383
56,23,999,3,1951,2408
57,24,999,4,3946,4943
58,24,999,3,4073,4883
59,24,999,2,4053,4934
60,24,999,2,4053,4866
61,24,999,4,3946,4943
62,24,999,3,4001,4943
63,24,999,3,4154,4892
64,24,999,4,4025,4875
65,24,999,4,4025,4875
66,24,999,2,4134,4875
67,24,999,3,4081,4943
68,24,999,2,4134,4934
69,24,999,4,4025,4943
70,24,999,4,4025,4875
71,24,999,3,4081,4943
72,25,999,3,983,12655
73,25,999,3,983,12655
74,25,999,2,9958,12655
75,25,999,3,983,12655
76,25,999,2,9958,12832
77,25,999,3,10027,12832
78,25,999,2,10157,12774
79,25,999,4,9888,12655
80,25,999,2,10157,12832
81,25,999,4,9888,12832
82,25,999,4,9888,12832
83,26,999,3,1305,17034
84,26,999,3,1305,16799
85,26,999,3,13551,16858
86,27,999,3,3992,4927
87,27,999,3,4064,4876
88,29,999,3,43761,56175
89,29,999,2,44942,55621
90,29,999,4,42335,55399
91,29,999,2,44322,55399
92,29,999,2,45208,56175
93,29,999,2,45208,56175
94,29,999,4,43182,56175
95,29,999,3,44636,56175
96,29,999,4,43182,56175
97,29,999,4,43182,56175
98,30,999,3,869,1094
99,30,999,4,857,1079
100,30,999,2,898,1079
---------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
Error sqlldr with plink in remote command
Hi all,
My OS is Windows, I tried to launch a sqlldr remote command with plink (putty) :
Command dos:
"plink host -l oracle -pw oracle sqlldr -userid schema/pwd -control /tmp/test.ctl"
I had this error : "ksh: sqlldr: not found"
Setting of server :
$ORACLE_HOME=/app/local/oracle/product/10.2.0/Db_1
When I try directly "sqlldr -userid schema/pwd -control /tmp/test.ctl" with putty on the server it's working.
Please somebody could explain me how can I do it with remote command line ?
ThanksOk, results below :
echo $ORACLE_HOME
/app/local/oracle/product/10.2.0/Db_1
which sqlldr
/app/local/oracle/product/10.2.0/Db_1/bin/sqlldrSo I think it's ok for these settings, what is the issue ?
Thanks -
Hi
I hit the following error during the data load through sqlldr
ORA-39776: fatal Direct Path API error loading table
and i hit the following error and sqlldr job terminated
and internal error code
ORA-00600: internal error code, arguments: [kohdtf048], [], [], [], [], [], [],
Then i take out the direct=true & load the data it works.
If i use direct =true i hit this error some times
some time it works fine
rds899785 wrote:
I am also facing the same issue. By the way my oracle database version is 11.2.0.3 and client is 10.2 is there any issue if we use lower version of client while SQL Loader upload. Please request you to clarify. ThanksYou are hijacking a thread that is over six years old. Best to start your own thread with your own specifics. Please be sure to include any ora- errors you are receiveng and what you've already discovered about them. -
SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
Hi
User is getting the below error:
H:\>sqlldr ARETHYYU/FRTGEU@RSSPDT
control = H:\rag_load_reports.ctl
SQL*Loader: Release 8.1.7.3.0 - Production on Mon Mar 9 07:44:08 2009
(c) Copyright 2000 Oracle Corporation. All rights reserved.
SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
Anyone pls help me in solving this issue...
Thanks,
KrThis means that the tnsname being used is not being recognized by Oracle. Check your tnsnames.ora file and see if you're using the correct connection string for the database you are trying to connect to. Furthermore, do you have more than one oracle installation on your PC? If that is the case then you should copy the correct entry and replicate it to other tnsnames.ora files. Only for the sake of knowledge, I would like to know if you are using the connection string from the sqlplus session of your PC, but you're executing SQL Loader from another machine?
-
Which LKM and IKM to use for Fast data loading b/w MSSQL 2005 and Oracle 11
Hi,
Can anybody help us to decide which LKMs and IKMs are best for data loading between MSSQL and Oracle.
Staging Area is Oracle. We have to load around 400Million rows from MSSQL to Oracle 11g.
Best regards,
MuhammadThanks Ayush,
You are right and it has dumped the file very quickly; but it is giving error on sqlldr call thorugh jython. I have reaised SR with oracle to look into it further.
thanks again and have a very nice time.
Regards,
Muhammad -
How to load date and time from text file to oracle table through sqlloader
hi friends
i need you to show me what i miss to load date and time from text file to oracle table through sqlloader
this is my data in this path (c:\external\my_data.txt)
7369,SMITH,17-NOV-81,09:14:04,CLERK,20
7499,ALLEN,01-MAY-81,17:06:08,SALESMAN,30
7521,WARD,09-JUN-81,17:06:30,SALESMAN,30
7566,JONES,02-APR-81,09:24:10,MANAGER,20
7654,MARTIN,28-SEP-81,17:24:10,SALESMAN,30my table in database emp2
create table emp2 (empno number,
ename varchar2(20),
hiredate date,
etime date,
ejob varchar2(20),
deptno number);the control file code in this path (c:\external\ctrl.ctl)
load data
infile 'C:\external\my_data.txt'
into table emp2
fields terminated by ','
(empno, ename, hiredate, etime, ejob, deptno)this is the error :
C:\>sqlldr scott/tiger control=C:\external\ctrl.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Mon May 31 09:45:10 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 5
C:\>any help i greatly appreciated
thanks
Edited by: user10947262 on May 31, 2010 9:47 AMload data
infile 'C:\external\my_data.txt'
into table emp2
fields terminated by ','
(empno, ename, hiredate, etime, ejob, deptno)Try
load data
infile 'C:\external\my_data.txt'
into table emp2
fields terminated by ','
(empno, ename, hiredate, etime "to_date(:etime,'hh24:mi:ss')", ejob, deptno)
this is the error :
C:\>sqlldr scott/tiger control=C:\external\ctrl.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Mon May 31 09:45:10 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 5
C:\>
That's not an error, you can see errors within log and bad files. -
Calling SQL Loader from ColdFusion Web Server
We are trying to Load Data files into Oracle through a Cold Fusion Web Application. Users will browse to a local file on their computers, click a button, and our application will use SQL Loader to load the data into oracle. The ColdFusion web server is Unix and the 11g database server is Linux. When we run the ColdFusion code below we get a file not found error, the sqlldr executable cannot be found. Do we need to install an Oracle client or something on the ColdFusion Web server to get this to work?
<cfexecute name="sqlldr" arguments="ADVDEMO@ADVDEMO/Transact2011 control=/space/users/www/advfiles/ControlFiles/BS/Bio_ControlFile.ctl" timeout="500"></cfexecute>'sqlldr' is part of Oracle server or (full) Oracle client software - NOT the OS - so indeed you need to install at least the client. Unfortunately 'sqlldr' is not part of the Instant Client, which is much smaller than the full client.
Some guys tried to add 'sqlldr' manually:
http://my.opera.com/onyxluo/blog/2007/12/28/add-sql-loader-into-oracle-10-instant-client
Werner -
Illegal combination when importing xml file into xmltype column
I have the following control file.
LOAD DATA
CHARACTERSET UTF8
INFILE *
INTO TABLE IMPORTRAWXML TRUNCATE
SITEID constant 0
,VENDORID constant 17
,SITEFORMATID constant 2
,"\\plutonium\outcomes\AHA GWTG-Outpatient\Programs\DataTransfer\LoadTest\V17_standard_test.xml" filler char(1000)
,RAWDATA LOBFILE ("\\plutonium\outcomes\AHA GWTG-Outpatient\Programs\DataTransfer\LoadTest\V17_standard_test.xml")
TERMINATED BY EOF
)When I run it using sqlldr command line I get the following error:
SQL*Loader-350: Syntax error at line 1.
Illegal combination of non-alphanumeric characters
<?xml version="1.0" encoding="ISO-8859-1"?>Does anyone have any idea what I am doing wrong here? If I remove the fully resolved path (both the control file and xml file are in the same folder) it tells me it can't find the file to load.
HELP!!!!
Thanks,
Evaevaleah wrote:
I have made sure all my home settings are correct in my registry editor and they are. Another thing to note is the control file I am using works 100% perfectly, beautifully when called from Toad for Oracle. It is when called from the command line utility that it fails. Is there anyway to determine what the difference could be?
So we know that I can work (toad works), but it doesn't yet work in a "cmd" environment.
Just as any other program Toad is also a client and uses NLS and other environment settings. Maybe these are stored in the registry, maybe the are being set by Toad by reading a configuration file while it is started or while running.
As said, on Windows its tricky...
Setting properties in the registry will not mean that they are the same a "cmd" window or maybe not even been set.
If you execute / run "cmd" then the "set" statement/command will output the environment settings that will be used during the livetime of that "cmd" session.
C:/> setIn my laptop environment (windows 7 64 bit) it will show the following
C:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\marco\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=00-00-000
ComSpec=C:\Windows\system32\cmd.exe
DEFLOGDIR=C:\ProgramData\McAfee\DesktopProtection
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\marco
LOCALAPPDATA=C:\Users\marco\AppData\Local
LOGONSERVER=\\AMISNT
MpConfig_ProductAppDataPath=C:\ProgramData\Microsoft\Windows Defender
MpConfig_ProductCodeName=AntiSpyware
MpConfig_ProductPath=C:\Program Files\Windows Defender
MpConfig_ProductUserAppDataPath=C:\Users\marco\AppData\Local\Microsoft\Windows
Defender
MpConfig_ReportingGUID=CA08B82B-EF0A-4107-89D8-ED5BB37E7515
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\oracle\product\11.2.0\dbhome_1\bin;C:\Windows\system32;C:\Windows;C:\Win
dows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PERL5LIB=c:\oracle\product\10.2.0\db_1\perl\5.8.3\lib\MSWin32-x64;c:\oracle\prod
uct\10.2.0\db_1\perl\5.8.3\lib;c:\oracle\product\10.2.0\db_1\perl\site\5.8.3;c:\
oracle\product\10.2.0\db_1\perl\site\5.8.3\lib;c:\oracle\product\10.2.0\db_1\sys
man\admin\scripts;
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=170a
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\marco\AppData\Local\Temp
TMP=C:\Users\marco\AppData\Local\Temp
USERDNSDOMAIN=AMIS
USERDOMAIN=AMIS
USERNAME=marco
USERPROFILE=C:\Users\marco
VBOX_INSTALL_PATH=C:\Program Files\Sun\VirtualBox\
VSEDEFLOGDIR=C:\ProgramData\McAfee\DesktopProtection
windir=C:\Windows
C:\>The only thing that identifies that I have Oracle installed is set in the %PATH% variable and %PERL5LIB%. From the path setting you can also deduct that I have Oracle 11 and Oracle 10 software installed. So when I execute "sqlldr" what NLS settings will it use and which tnsnames.ora alias for example to connect to the database...?
You can you do it and see what happens...
C:\>sqlldr
SQL*Loader: Release 11.2.0.1.0 - Production on Wed May 12 20:36:25 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Usage: SQLLDR keyword=value [,keyword=value,...]
Valid Keywords:
...So it will pick the first "sqlldr" in the %PATH% environment setting. But what about NLS...? As said to be absolute sure you will have to set it in your environment.
C:/> set ORACLE_HOME="C:\oracle\product\10.2.0\db_1"
C:\> set
Path=C:\oracle\product\11.2.0\dbhome_1\bin;C:\Windows\system32;C:\Windows;C:\Win
dows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PERL5LIB=c:\oracle\product\10.2.0\db_1\perl\5.8.3\lib\MSWin32-x64;c:\oracle\prod
uct\10.2.0\db_1\perl\5.8.3\lib;c:\oracle\product\10.2.0\db_1\perl\site\5.8.3;c:\
oracle\product\10.2.0\db_1\perl\site\5.8.3\lib;c:\oracle\product\10.2.0\db_1\sys
man\admin\scripts;
ORACLE_HOME="C:\oracle\product\10.2.0\db_1"
C:\> echo %ORACLE_HOME%
"C:\oracle\product\10.2.0\db_1"Because if I enter "sqlldr" it will pick the executable from the 11.2 install, but the ORACLE_HOME is set to the wrong environment
Executing sqlldr now will give me an error
C:\>sqlldr
Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 21
00 not found; No message file for product=RDBMS, facility=UL
C:\>Another thing you can notice now is that from that output alone, you can't deduct the Oracle "sqlldr" version anymore. Setting the ORACLE_HOME environment to either 10.2 or 11.2 will cause "sqlldr" to execute normally (at least thats how it looks) BUT in the case of the oracle 10.2 setting it will use the wrong message files etc. At least not the correct software versions / files "sqlldr" is shipped with. So you can (and most of the time) will get strange errors.
C:\> set ORACLE_HOME=C:\oracle\product\10.2.0\db_1
C:\>sqlldr
SQL*Loader: Release 11.2.0.1.0 - Production on Wed May 12 20:45:00 2010
C:\>set ORACLE_HOME=C:\oracle\product\11.2.0\dbhome_1
C:\>sqlldr
SQL*Loader: Release 11.2.0.1.0 - Production on Wed May 12 20:49:50 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Usage: SQLLDR keyword=value [,keyword=value,...]
...In the registry you can find a lot of those variables are set for ORACLE_HOME, ORACLE_BASE, SQLPATH, maybe TNS_ADMIN, ORACLE_SID, NLS_LANG. You can find the variables IN the registry on two places. The most common one is the SYSTEM wide environment settings under //HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE and in my case for 11.2 under //HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb11g_Home1.
You could overrule this for to be active on "my user session", my login session as account "marco" under //HKEY_CURRENT_USER/Software/Oracle, but no one using Windows is doing this.
Besides the "cmd" and registry environment, there is a different place as well were you can set these parameters. In windows go to "start", click "control panel", click "system", click tab "Advanced" and then click on the button on the bottum with "Environment Variables". Here you can see the distinction between user and system wide variables as well. Here you can also set NLS_LANG, ORACLE_HOME etc. If I am not mistaken than these will be the default values used in a fresh "cmd" window session. But they can and will interfere with programs you start via clicking them. For example something a Java program like SQL Developer (and/or Toad). If those values are not overrulled by the program by for example using his own variables from a config file or else, those sessings from the "system" / control panel item will be used. If it is the wrong mix, you will encounter strange issues.
Setting ORACLE_HOME and ORACLE_BASE will be used by a lot of derived other settings for example the default place SQL*Net drivers and tnsnames aliases etc will be checked. For example setting the ORACLE_HOME to
C:\> set ORACLE_HOME=C:\oracle\product\10.2.0\db_1will result in that the tnsnames aliases from
C:\> set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\NETWORK\adminwill be used and NOT the ones maybe needed from
C:\oracle\product\11.2.0\dbhome_1\NETWORK\adminYou can overrule this behavior by setting the TNS_ADMIN variable. By default, most explicit form for example on linux and Unix, the following rule will be used by Oracle
1) .tnsnames.ora in the home directory of the user
2) standard default: $ORACLE_HOME/network/admin
3) behavior can be overruled via setting $TNS_ADMINThe fact that you are able via Toad to execute it correctly proves you that it can be done. But Toad uses in your session "SQL*Net" or JDBC or ODBC or ADO or ? via its own configuration environment settings that are being set on which values...?
Both Oracle and Toad use the OSI model (http://en.wikipedia.org/wiki/OSI_model), both have to follow the same rules. There hasn't been changed that much over the years, character set conversions are done in the "two task common" layer of the data transport on either side (client/server) when data travels between a client and server. And don't forget a database can be also be a client when for instance database links are being used. One of the reasons to read old manuals because there the basics are still perfectly explained: http://download.oracle.com/docs/cd/A57673_01/DOC/net/doc/NWUS233/ch2.htm#twotask (Oracle 7.3.4 Networking Manual).
This long long story is just to show you that you have more control if you set variables explicitly in a "cmd" window (and or in a linux/unix shell (as long as the session isn't "forked")) BUT you will have to be precise. Check the environment a set those environment variables that control / that are being used by "sqlldr" (and that are probably more then you realised, for example that SQL_PATH variable is the default directory where SQL*Plus is looking and saving its "SQL" and spool "LIS" files).
HTH -
Concurrency databse insertation
Hi every one
Short history:
I have my application which contains 10 classes. 5 classes are for temporary storing data and the rest classes for manipulation, reading data from the files storing data to these storage classes and inserting data to database. This application is working fine with one problem it takes about 3 to 4 days to insert 4 million rows.
Problem:
I created multithread application but I experience many problems, data are no longer intact, it updates some objects before using them. Sometimes try to insert into child table before inserting to parent table as result it come up with the following error "parent key not found". I use the synchronized keyword for each method but still this problem is there.
Request:
Please help me on how to insert many rows at the same time using multithreading programming, keep in mind that this application contains many classes with in turns are used in storing temporary data before send them to the database.The fastest way to get data into a database is to use
the import tools that come with the database. You
create a file with a specific format and the tool
processes the file.
I use oracle database but not only I don't know these
tools but also I don't know how to use them. Can you
give me some sample code.Oracle has a command line tool "sqlldr". It takes an input data file and a control file. The control file tells sqlldr database connection properties and about the data file (column names, fixed width vs. delimited, etc.). You can have your java application generate the data file then use Runtime.exec() to call the sqlldr command line. Look at the sqlldr documentation from Oracle for more info on the control and data file format, and for command line goodness. Handling errors is a pain - if there is an error then sqlldr terminates and writes an error file. Your java will have to look for this error file and possibly parse it to deal with the errors. It really sucks, but is possible. sqlldr will insert records very very fast, much faster than you can do through JDBC.
Before you go to that pain though, make sure that its the insert that is really taking the time. If the records you are generating are complex and require a lot of computation time on the java side, then that could be at least part of the slowdown. A profiler is best for figuring this out, but you could also use System.currentTimeMillis to track time spent in different methods, or even comment out the "insert" and see how long it takes just to generate the records. Don't get me wrong, the inserts will take a lot of time, but it may be that you can get the rest of the code fast enough that the total runtime is acceptable - without going the sqlldr approach.
If you spend a lot of time generating data then multithreading will help, since you can be generating data and inserting at the same time. In that case I'd recommend two threads. One generates the data and adds it to an insert queue, and the other pulls data from the insert queue and inserts it. Make sure the generation queue only puts completed records in the queue, and you have no problem with inserting half-baked records. Also look at PreparedStatement.addBatch() to batch the inserts. Oh, and if you're not already using PreparedStatement then change that immediately, that alone will speed things up somewhat. Dynamic SQL and plain Statement is pure evil for big inserts.
You'll probably want to use something like ArrayBlockingQueue for the queue, since it will prevent things like the generating queue getting too far ahead and inserting a million records into the queue and running out of memory.
- Jemiah -
Error using LKM File to Oracle SQLLDR
Hi,
we are getting the following error when trying to use SQLLDR LKM
The error file says the table does not exist although I can see it in the database.
Any ideas?
Oracle DB 9i
SQLLDR 10.2
Load.out
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jan 20 16:30:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Load.log
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Jan 20 16:30:58 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Control File: D:\HFMBACKUP\/LOAD.ctl
Data File: D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TXT
File processing option string: "str X'0D0A'"
Bad File: D:\HFMBACKUP\/LOAD.bad
Discard File: D:\HFMBACKUP\/LOAD.dsc
(Allow 1 discards)
Number to load: ALL
Number to skip: 1
Errors allowed: 0
Continuation: none specified
Path used: Direct
Table ODISTAG."C$_12181010HFMData", loaded from every logical record.
Insert option in effect for this table: INSERT
TRAILING NULLCOLS option in effect
Column Name Position Len Term Encl Datatype
C1_SCENARIO FIRST * ; CHARACTER
C2_YEAR NEXT * ; CHARACTER
C3_VIEW NEXT * ; CHARACTER
C4_ENTITY NEXT * ; CHARACTER
C5_VALUE NEXT * ; CHARACTER
C6_ACCOUNT NEXT * ; CHARACTER
C7_ICP NEXT * ; CHARACTER
C8_PERIOD NEXT * ; CHARACTER
C10_C1 NEXT * ; CHARACTER
C13_C2 NEXT * ; CHARACTER
C9_C3 NEXT * ; CHARACTER
C12_C4 NEXT * ; CHARACTER
C11_VALUE1 NEXT * ; CHARACTER
SQL*Loader-951: Error calling once/load initialization
ORA-00942: table or view does not exist
Load CTL
OPTIONS (
SKIP=1,
ERRORS=0,
DIRECT=TRUE
LOAD DATA
INFILE "D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TXT" "str X'0D0A'"
BADFILE "D:\HFMBACKUP\/LOAD.bad"
DISCARDFILE "D:\HFMBACKUP\/LOAD.dsc"
DISCARDMAX 1
INTO TABLE ODISTAG."C$_12181010HFMData"
FIELDS TERMINATED BY X'3B'
TRAILING NULLCOLS
C1_SCENARIO ,
C2_YEAR ,
C3_VIEW ,
C4_ENTITY ,
C5_VALUE ,
C6_ACCOUNT ,
C7_ICP ,
C8_PERIOD ,
C10_C1 ,
C13_C2 ,
C9_C3 ,
C12_C4 ,
C11_VALUE1
)Hi,
Check the paths - seems like you have a combination of forward slashes and back slashes in the pathnames..
D:\HFMBACKUP\/LOAD.ctl and
D:\HFMBACKUP\/PCONS/Loads/BK_FINST-2009_Thu-20-Jan-2011_14-52-24.TX for example have combination '\/' after HFMBACKUP.
cheers
Bos -
Oracle error "ORA-01843: not a valid month" when trying to run sqlldr
Hi all,
I'm trying to load some data into a staging database via a CSV file using sqlldr, and am running into an issue where it doesn't like the date format I'm using.
Here is my input data:
2012-01-09 16:28:12 -05:00Here is the entry in the .ctl file:
created TIMESTAMP WITH TIME ZONE 'yyyy-mm-dd HH24:MI:SS TZR'And finally, here is the entry in the .sql file:
created TIMESTAMP WITH TIME ZONEAfter I try to load, I get greeted with the dreaded error message: Record 1: Rejected - Error on table WTPART, column CREATED. ORA-01843: not a valid month
I'm really confused as to why it's blowing up on the date, because it seems to me that "01" is indeed a valid date in terms of the date format I'm using. Any ideas? Thanks!
Edited by: Nick Tiberi on Jan 10, 2012 8:06 AMHmmm, not sure exactly what the problem is. It works fine for me on my XE instance.
Set up the control and data files....
tubby@Tubbz:~/test$ cat >> WTPart.csv <<EOF
2012-01-09 16:28:12 -05:00
EOF
tubby@Tubbz:~/test$
tubby@Tubbz:~/test$ cat >> load.ctl <<EOF
LOAD DATA
INFILE WTPart.csv
APPEND INTO TABLE WTPart
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
created TIMESTAMP WITH TIME ZONE 'yyyy-mm-dd HH24:MI:SS TZR'
EOF
tubby@Tubbz:~/test$
tubby@Tubbz:~/test$ /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/sqlldr tubby/pswd@xe control=load.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Tue Jan 10 10:21:28 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 1
tubby@Tubbz:~/test$
{code}
Query the result from the database
{code}
ME_XE?select * from wtpart;
CREATED
09-JAN-12 04.28.12.000000 PM -05:00
1 row selected.
Elapsed: 00:00:00.01
ME_XE?
ME_XE?select * from v$version;
BANNER
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
5 rows selected.
Elapsed: 00:00:00.01
ME_XE?
{code}
Are you sure your CSV file doesn't have some "funky" data in it? -
I am trying to load fixed length flat file into Oracle table in ODI by using LKM File to Oracle (SQLLDR).
But getting below error in Call sqlldr step,
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.log for details
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:662)
Caused by: Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.log for details
at org.python.core.PyException.fillInStackTrace(PyException.java:70)
at java.lang.Throwable.<init>(Throwable.java:181)
at java.lang.Exception.<init>(Exception.java:29)
at java.lang.RuntimeException.<init>(RuntimeException.java:32)
at org.python.core.PyException.<init>(PyException.java:46)
at org.python.core.PyException.doRaise(PyException.java:219)
at org.python.core.Py.makeException(Py.java:1166)
at org.python.core.Py.makeException(Py.java:1170)
at org.python.pycode._pyx13.f$0(<string>:59)
at org.python.pycode._pyx13.call_function(<string>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1204)
at org.python.core.Py.exec(Py.java:1248)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
... 19 more
TARIFF_SERVICE.log is not getting created.
Code generated is,
import java.lang.String
import java.lang.Runtime as Runtime
from jarray import array
import java.io.File
import os
import re
ctlfile = r"""C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.ctl"""
logfile = r"""C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.log"""
outfile = r"""C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.out"""
oracle_sid=''
if len('XE')>0: oracle_sid = '@'+'XE'
loadcmd = r"""sqlldr 'HR/<@=snpRef.getInfo("DEST_PASS") @>%s' control='%s' log='%s' > "%s" """ % (oracle_sid,ctlfile, logfile, outfile)
rc = os.system(loadcmd)
if rc <> 0 and rc <> 2:
raise "Load Error", "See %s for details" % logfile
# Init Vars
nbIns = 0
nbRej = 0
nbNull = 0
strprt = ""
maxAllowedError = r"""0"""
c = 0
flag = 0
# Open log file
f = open(logfile, "r")
try:
lines = f.readlines()
for line in lines:
if line.rstrip().upper().endswith(r"""HR.TC$_0SAS_TARIFF_SERVICEREPLACE:""".upper()):
flag = 1
c = 0
if flag == 1:
if c > 0 and c <= 4:
if c == 1 :
nbIns = int(re.findall("\d+", line)[0])
elif c == 2:
nbRej = int(re.findall("\d+", line)[0])
elif c == 4:
nbNull = int(re.findall("\d+", line)[0])
break
c+=1
strprt = "\n\tIns:\t%s\n\tReject:\t%s\n\tNullField:\t%s" % (nbIns, nbRej, nbNull)
finally:
f.close()
# if some rows has been rejected due to invalide data, check KM option LOA_ERRORS
if rc == 2:
if nbRej > int(maxAllowedError):
raise strprt
break
Can anyone suggest how to resolve this issue?
Thanks,
AdityaHi
i am facing same issue did any body find any solution for it
Hi 1005380,
Thanks for quick respond.
Source(position based file so i cant change the phsical length)
name,type,physical length,logical length,-,-,recordCount
pading
String
1
1
50
null
2
journal_name
String
2
50
50
null
journal_line_number
String
52
6
50
null
segment1
String
58
6
50
null
segment2
String
64
8
50
null
segment3
String
72
5
50
null
segment4
String
77
3
50
null
segment5
String
80
1
50
null
segment6
String
81
4
50
null
segment7
String
85
3
50
null
segment8
String
88
5
50
null
line_desc
String
93
240
50
null
debit_amount
String
333
15
50
null
credit_amount
String
348
15
50
null
Target(DB)
order,name,type,logicalLength,scale,Source mapping fields
55
ENTERED_DR
NUMBER
0
-127
Debit_amt(sorce)
56
ENTERED_CR
NUMBER
0
-127
credit_amt(source)
60
REFERENCE1
VARCHAR2
100
0
journalname(source)
142
CUSTOM_ATTRIBUTE1
VARCHAR2
150
0
segment1(s)
143
CUSTOM_ATTRIBUTE2
VARCHAR2
150
0
segment2(s)
144
CUSTOM_ATTRIBUTE3
VARCHAR2
150
0
segment3(s)
145
CUSTOM_ATTRIBUTE4
VARCHAR2
150
0
segment4(s)
146
CUSTOM_ATTRIBUTE5
VARCHAR2
150
0
segment5(s)
147
CUSTOM_ATTRIBUTE6
VARCHAR2
150
0
segment6(s)
148
CUSTOM_ATTRIBUTE7
VARCHAR2
150
0
segment7(s)
149
CUSTOM_ATTRIBUTE8
VARCHAR2
150
0
segment8(s)
i am omitting padding and line_desc from source for mapping.
Note : 1)even i am mapping single column eg: journal_name and reference1 for more than 1000 records i am getting the Error(Number format exception).for 999 records it is picking up and it is not throwing any error.
2)for 999 records i mapped all the fields its working fine,if pass more than 999 records it throwing error.
knowledge Modules:
LKM File to SQL and IKM SQL Control Append
Execution Steps:
loading Drop work table ,Create work table and error at Load data
Error code:
Source Code:
select
journal_name
C3_JOURNAL_NAME,
segment1
C4_SEGMENT1,
segment2
C5_SEGMENT2,
segment3
C6_SEGMENT3,
segment4
C7_SEGMENT4,
segment5
C8_SEGMENT5,
segment6
C9_SEGMENT6,
segment7
C10_SEGMENT7,
segment8
C11_SEGMENT8,
debit_amount
C1_DEBIT_AMOUNT,
credit_amount
C2_CREDIT_AMOUNT
from
TABLE
/*$$SNPS_START_KEYSNP$CRDWG_TABLESNP$CRTABLE_NAME=ADA_ENTRY_STG_LINESSNP$CRLOAD_FILE=/C:/DavidNithin/GL_Abstraction/adaoasisla.dat.07012013_13h23.txtSNP$CRFILE_FORMAT=FSNP$CRFILE_SEP_FIELD=0x0009SNP$CRFILE_SEP_LINE=0ASNP$CRFILE_FIRST_ROW=0SNP$CRFILE_ENC_FIELD=SNP$CRFILE_DEC_SEP=SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=padingSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=1SNP$CRLENGTH=1SNP$CRPRECISION=50SNP$CRREC_CODE_LIST=2SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=journal_nameSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=2SNP$CRLENGTH=50SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=journal_line_numberSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=52SNP$CRLENGTH=6SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment1SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=58SNP$CRLENGTH=6SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment2SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=64SNP$CRLENGTH=8SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment3SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=72SNP$CRLENGTH=5SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment4SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=77SNP$CRLENGTH=3SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment5SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=80SNP$CRLENGTH=1SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment6SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=81SNP$CRLENGTH=4SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment7SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=85SNP$CRLENGTH=3SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment8SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=88SNP$CRLENGTH=5SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=line_descSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=93SNP$CRLENGTH=240SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=debit_amountSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=333SNP$CRLENGTH=15SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=credit_amountSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=348SNP$CRLENGTH=15SNP$CRPRECISION=50SNP$CR$$SNPS_END_KEY*/
Target Code:
insert into ODI.C$_0MNA_ENTERY_STG_LINES_ADA
C3_JOURNAL_NAME,
C4_SEGMENT1,
C5_SEGMENT2,
C6_SEGMENT3,
C7_SEGMENT4,
C8_SEGMENT5,
C9_SEGMENT6,
C10_SEGMENT7,
C11_SEGMENT8,
C1_DEBIT_AMOUNT,
C2_CREDIT_AMOUNT
values
:C3_JOURNAL_NAME,
:C4_SEGMENT1,
:C5_SEGMENT2,
:C6_SEGMENT3,
:C7_SEGMENT4,
:C8_SEGMENT5,
:C9_SEGMENT6,
:C10_SEGMENT7,
:C11_SEGMENT8,
:C1_DEBIT_AMOUNT,
:C2_CREDIT_AMOUNT
Error message:
java.lang.NumberFormatException: For input string: "1,000"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Inte
Maybe you are looking for
-
Temporary internet files and track pad
hi there. I purchases my macbook on black friday. I love it. I used one about 14 yrs ago..and some things have changed. it is much easier to navigate. I have a few questions. I will try to put them in the correct forums. temp internet files 1. does m
-
AD Sync failover workflow not firing?
Hi Everyone, We have a sitaution where it doesn't look like the AD Sync failover workflow is firing. We are syncing changes from an AD resource using IDM 7.1.1.14 and have configured the AD Sync Failover as documented in the docs. Everything seems to
-
HTML Pages/Macromedia Flash and OBIEE
Hi there. I need to integrate an HTML page and/or Macromedia Flash app's with OBIEE. What I'm planning to do is creating a HTML or Flash page, with some fancy art representing different dashboards. When user click one of thos pics, then I must go to
-
Failed to unmarshal class weblogic.jms.dispatcher.Response
Hi, we are using WL6.1 SP2 on solaris as a standalone JMS server and we another WL61 SP2 on solaris as application server. Our Application server connects to JMS server and does a Qbrowse to select some info fr
-
Where is RMAN or backup/recovery sub-forum?
Hi I had a question regarding RMAN but could not find the rman-subforum? I may be looking at wrong place - I think it existed in the older version of Oracle Forums. Best regards