SQL*Loader halt loading large varray object
I was using sql*loader of Oracle 8i NT, trying to load some records with
varray (some records have lots of array elements, up to several thousands).
however, after several hundreds records loaded, sql*loader became very slow,
and virtually stopped at some point. I watched the system resouces taken by
sql*loader, it simply drove my NT out of physical memory (it occupied
hundreds meg of physical mem). I set virtual memory to very large, and
didn't help neither. My whole datafile is only 60MB, although several lines
have 250K chars in single line/record. but such record only takes sql*loader
one minute to load if I load it individually.
However, if I load the records 100 after 100 in "append" mode (loading 100,
then load next 100 with skipping previous loaded records), it works fine,
the loader only occupied 60 meg physical mem, and released the mem when I
started next 100 manually. This is really bizzare for that sql*loader seems
doesn't know how to unload the memory if I chose to load the whole data file
automatically. I tried to manipulate the ROWS and BINDSIZE options, doesn't
help much.
Does anyone has any idea about this strange thing? Is there any other way to
load data into Oracle tables? I can't believe sql*loader will take several
days to load only 60mb exteral text file.
Thanks!
John
null
There is no 'setDescription' method available with the ordimage type. You can use putMetadata if that works for you.
Otherwise, you would have to build a custom data-type based on the ordimage type in order to store your 'description'.
Similar Messages
-
(urgent) SQL*Loader Large file support in O734
hi there,
i have the following sqlloader error when trying to upload data file(s),
each has size 10G - 20G to Oracle 734 DB on SunOS 5.6 .
>>
SQL*Loader-500: Unable to open file (..... /tstt.dat)
SVR4 Error: 79: Value too large for defined data type
<<
i know there's bug fix for large file support in Oracle 8 -
>>
Oracle supports files over 2GB for the oracle executable.
Contact Worldwide Support for information about fixes for bug 508304,
which will add large file support for imp, exp, and sqlldr
<<
however, really want to know if any fix for Oracle 734 ?
thx.Example
Control file
C:\DOCUME~1\MAMOHI~1>type dept.ctl
load data
infile dept.dat
into table dept
append
fields terminated by ',' optionally enclosed by '"'
trailing nullcols
(deptno integer external,
dname char,
loc char)
Data file
C:\DOCUME~1\MAMOHI~1>type dept.dat
50,IT,VIKARABAD
60,INVENTORY,NIZAMABAD
C:\DOCUME~1\MAMOHI~1>
C:\DOCUME~1\MAMOHI~1>dir dept.*
Volume in drive C has no label.
Volume Serial Number is 9CCC-A1AF
Directory of C:\DOCUME~1\MAMOHI~1
09/21/2006 08:33 AM 177 dept.ctl
04/05/2007 12:17 PM 41 dept.dat
2 File(s) 8,043 bytes
0 Dir(s) 1,165 bytes free
Intelligent sqlldr command
C:\DOCUME~1\MAMOHI~1>sqlldr userid=hary/hary control=dept.ctl
SQL*Loader: Release 10.2.0.1.0 - Production on Thu Apr 5 12:18:26 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 2
C:\DOCUME~1\MAMOHI~1>sqlplus hary/hary
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 5 12:18:37 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
As I am appending I got two extra rows. One department in your district and another in my district :)
SQL> select * from dept;
DEPTNO DNAME LOC
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 IT VIKARABAD
60 INVENTORY NIZAMABAD
6 rows selected.
SQL> -
Hi,
following case of a ctl-file:
LOAD DATA
APPEND
INTO TABLE IFC_A_T01
TRAILING NULLCOLS
ID SEQUENCE,
SKZ POSITION(1:1) TERMINATED BY '$' "RTRIM(LTRIM(:SKZ,' '),' ')",
sub object
FKZ VARRAY TERMINATED BY '$' (
FKZ COLUMN OBJECT (
GS POSITION(1:5) "RTRIM(FKZ.FKZ.GS,' ')",
FZ POSITION(6:10),
FN POSITION(11:14),
FF POSITION(15:17)
SQL*Loader-350: Syntax error at line 11.
Expecting valid column specification, "," or ")", found "LTRIM(:"FKZ.FKZ.GS",' ')".
KZ.GS\",' ')" ,
FZ
What is the Problem with Line 11??
--> GS POSITION(1:5) "RTRIM(FKZ.FKZ.GS,' ')",
I don't care about using that syntax, but i really think so, because GS POSITION(1:5) NULLIF FKZ.FKZ.GS=BLANKS works fine...
thanks in advance.Hi,
I'm not 100% sure that's possible to do.
sorry that's possible (with some restrictions):
http://download.oracle.com/docs/cd/B12037_01/server.101/b10825/ldr_loading.htm#i1007180
however another alternative would be to create an external table pointing on your file and then do an insert as select?
here is an example (this can be done with multiple levels):
CREATE OR REPLACE TYPE xtest_Type1 AS OBJECT(
AGE NUMBER(3),
NAME VARCHAR2(14)
CREATE OR REPLACE TYPE xtest_Type2 AS VARRAY(10) OF xtest_Type1;
CREATE TABLE xtest(col1 NUMBER,col2 xtest_Type2)
insert into xtest
with testdata as(
select 1 col1,10 age1,'name1' name1 from dual union all
select 2 col1,20 age1,'name2' name1 from dual union all
select 1 col1,30 age1,'name3' name1 from dual union all
select 2 col1,10 age1,'name1' name1 from dual union all
select 2 col1,40 age1,'name4' name1 from dual)
SELECT col1,
CAST(COLLECT(xtest_Type1(age1, name1)) AS xtest_Type2) col2
FROM testdata
GROUP BY col1... remove the with clause and replace "testdata" with your external table name..
Edited by: user11268895 on Aug 30, 2010 3:07 PM -
Loading Objects with SQL*Loader
When loading a column object with SQL*Loader, is it possible to specify a column specific 'TERMINATED BY' clause in the control file?
I've successfully defined column-level termination characters for regular columns and nested tables, but can't seem to find any way of achieving the same result with column objects.When loading a column object with SQL*Loader, is it possible to specify a column specific 'TERMINATED BY' clause in the control file?
I've successfully defined column-level termination characters for regular columns and nested tables, but can't seem to find any way of achieving the same result with column objects. -
Help in sql loader loading a large datafile.
Hi All
Could some one help me in loading the xls file which is about 250MB AND got about 2981807 rows into a database table
i try to open the XLS file it just opened with 65000 records only but i have lot more records in it.
thanks in advancehi i user the sql loader but the file is too big to handel like the file is not opened in notepad or xls sheet...
is there any other way to split the large file -
SQL * Loader loading ORDSYS object setting properties
Hi,
I have table where am storing image as ORDSYS.ORDIMAGE.
I am using SQL*loader to load the image coloum. Below shown is the extract of the load file
Image COLUMN OBJECT
source COLUMN OBJECT
localData_fname FILLER CHAR(128),
localData LOBFILE (Image.source.localData_fname) TERMINATED BY EOF
with this, I am able to load the image. now i want to set the other properties of ORDImage object like description.
How can i do that? please can anyone help me in this?
Edited by: 896943 on Dec 8, 2011 6:23 PMThere is no 'setDescription' method available with the ordimage type. You can use putMetadata if that works for you.
Otherwise, you would have to build a custom data-type based on the ordimage type in order to store your 'description'. -
SQL Loader Constraints with Column Objects and Nested Tables
I am working on loading a Table that (god forbid) contains columns, column objects, and nested tables (which contains several depth of column objects). My question is does SQL Loader have a hidding undocumented feature where it states how the column objects must be grouped in refereneced to the nested tables within the loader file? I can load the various column objects, and nested tables fine right now, however, I am loading them all in strange and insane order. Can anyone answer this question? Thanks.
PeterI just noticed that my email is wrong. If you can help, plese send email to [email protected]
thanks. -
Loading VARRAY's with SQL loader, direct path in 9i?
Isn't it possible to load VARRAY's with SQLloader and direct path in a Oracle 9i database?
/Magnus Hornstrom
mailto:[email protected]Daniel,
I appreciate your response alot.
Now a follow on. You say that SQL*Loader is the fastest way to get data into Oracle Spatial even though the conventional path. How does SQL*Loader do this? Doesn't it use OCI?
I just can't help but think that coverting my data to SQL*Loader format, and then having it parse it and send it to the database in some form must be slower than me just sending whatever SQL Loader sends to the DB myself using OCI. Am I missing something?
The SQL Loader documentation seems to suggest that SQL*Loader just turns the input into alot of INSERT stateemnts. If so, can't I just do this?
My performance with OCI and INSERT statements isn't very good, but I believe I am doing one transaction per insert. Might I be as well off to concentrate on fine tuning my OCI based code using INSERTs?
I will actually do some time tests myself, but I would appreciate your opinion.
Once again thanks for the great info you have provided. -
Want to use sequence object of oracle when loading data in sql loader
Hi,
I want to use sequence when loading data in sqll loader, but the problem is i could not use sequence object of oracle to load the data by sql loader, i can use sequence of sql loader.
I want to use sequence object because in later entries this sequence object will be used.If i use sequence of sql loader how can i use oracle sequence object
Is there any other optionI have a simillar problem, I also want to use a sequence when loading data by the SQL Loader.
My control file is:
load data
infile '0testdata.txt'
into table robertl.tbltest
fields terminated by X'09'
trailing nullcols
(redbrojunos,
broj,
dolazak,
odlazak nullif odlazak=blanks,
komentar nullif komentar=blanks)
And the datafile is:
robertl.brojilo.nextval 1368 17.06.2003 08:02:46 17.06.2003 16:17:18
robertl.brojilo.nextval 2363 17.06.2003 08:18:18 17.06.2003 16:21:52
robertl.brojilo.nextval 7821 17.06.2003 08:29:22 17.06.2003 16:21:59
robertl.brojilo.nextval 0408 17.06.2003 11:20:27 17.06.2003 18:33:00 ispit
robertl.brojilo.nextval 1111 17.06.2003 11:30:58 17.06.2003 16:09:34 Odlazak na ispit
robertl.brojilo.nextval 6129 17.06.2003 14:02:42 17.06.2003 16:23:23 seminar
But all records were rejected by the Loader, for every record I get the error:
Record 1: Rejected - Error on table ROBERTL.TBLTEST, column REDBROJUNOS.
ORA-01722: invalid number -
Use Oracle directory object in SQL*loader?
Hi All,
We have a bunch of flatfiles that need to be read on a daily basis. We are using SQL*loader to read these files into Oracle.
The files arrive into a different directory every day ( /filesDDMMYY/ ). We now manually copy these files into the static directory which is pointed to in our ctl file. I was wondering if it's possible to use an Oracle Directory object to point to these data files, in stead of the pysical directory we use now?
Now we use: INFILE './sources/mydata.txt' , but I would like to make this a dynamic refrence to a directory with a different name
I searched the documentation and the internet quite extensively, but can not get an answer if it's possible to use directory objects in conjunction with sql loader.
Any help or suggestions would be appriciated.
Greetz,
Toin.
Message was edited by:
Toin ~ corrected typoyou can remove the INFILE parameter from the CTL files, and instead specify it on the command line (DATA=./sources...).
obviously this would still require changing every ctl file, but you would only need to do it once, not everytime you change a directory.
of course, the shell script which runs sqlldr would need to change. however, you could make the shell script more robust, by having it connect to sqlplus to look up the actual directory path from ALL_DIRECTORIES, and then use that when calling sqlldr. -
Problem : Load PDF or similiar files( stored at operating system) into an oracle table using SQl*Loader .
and than Unload the files back from oracle tables to prevoius format.
I 've used SQL*LOADER .... " sqlldr " command as :
" sqlldr scott/[email protected] control=c:\sqlldr\control.ctl log=c:\any.txt "
Control file is written as :
LOAD DATA
INFILE 'c:\sqlldr\r_sqlldr.txt'
REPLACE
INTO table r_sqlldr
Fields terminated by ','
id sequence (max,1) ,
fname char(20),
data LOBFILE(fname) terminated by EOF )
It loads files ( Pdf, Image and more...) that are mentioned in file r_sqlldr.txt into oracle table r_sqlldr
Text file ( used as source ) is written as :
c:\kalam.pdf,
c:\CTSlogo1.bmp
c:\any1.txt
after this load ....i used UTL_FILE to unload data and write procedure like ...
CREATE OR REPLACE PROCEDURE R_UTL AS
l_file UTL_FILE.FILE_TYPE;
l_buffer RAW(32767);
l_amount BINARY_INTEGER ;
l_pos INTEGER := 1;
l_blob BLOB;
l_blob_len INTEGER;
BEGIN
SELECT data
INTO l_blob
FROM r_sqlldr
where id= 1;
l_blob_len := DBMS_LOB.GETLENGTH(l_blob);
DBMS_OUTPUT.PUT_LINE('blob length : ' || l_blob_len);
IF (l_blob_len < 32767) THEN
l_amount :=l_blob_len;
ELSE
l_amount := 32767;
END IF;
DBMS_LOB.OPEN(l_blob, DBMS_LOB.LOB_READONLY);
l_file := UTL_FILE.FOPEN('DBDIR1','Kalam_out.pdf','w', 32767);
DBMS_OUTPUT.PUT_LINE('File opened');
WHILE l_pos < l_blob_len LOOP
DBMS_LOB.READ (l_blob, l_amount, l_pos, l_buffer);
DBMS_OUTPUT.PUT_LINE('Blob read');
l_pos := l_pos + l_amount;
UTL_FILE.PUT_RAW(l_file, l_buffer, TRUE);
DBMS_OUTPUT.PUT_LINE('writing to file');
UTL_FILE.FFLUSH(l_file);
UTL_FILE.NEW_LINE(l_file);
END LOOP;
UTL_FILE.FFLUSH(l_file);
UTL_FILE.FCLOSE(l_file);
DBMS_OUTPUT.PUT_LINE('File closed');
DBMS_LOB.CLOSE(l_blob);
EXCEPTION
WHEN OTHERS THEN
IF UTL_FILE.IS_OPEN(l_file) THEN
UTL_FILE.FCLOSE(l_file);
END IF;
DBMS_OUTPUT.PUT_LINE('Its working at last');
END R_UTL;
This loads data from r_sqlldr table (BOLBS) to files on operating system ,,,
-> Same procedure with minor changes is used to unload other similar files like Images and text files.
In above example : Loading : 3 files 1) Kalam.pdf 2) CTSlogo1.bmp 3) any1.txt are loaded into oracle table r_sqlldr 's 3 rows respectively.
file names into fname column and corresponding data into data ( BLOB) column.
Unload : And than these files are loaded back into their previous format to operating system using UTL_FILE feature of oracle.
so PROBLEM IS : Actual capacity (size ) of these files is getting unloaded back but with quality decreased. And PDF file doesnt even view its data. means size is almot equal to source file but data are lost when i open it.....
and for images .... imgaes are getting loaded an unloaded but with colors changed ....
Also features ( like FFLUSH ) of Oracle 've been used but it never worked
ANY SUGGESTIONS OR aLTERNATE SOLUTION TO LOAD AND UNLOAD PDFs through Oracle ARE REQUESTED.
------------------------------------------------------------------------------------------------------------------------Thanks Justin ...for a quick response ...
well ... i am loading data into BLOB only and using SQL*Loader ...
I've never used dbms_lob.loadFromFile to do the loads ...
i 've opend a file on network and than used dbms_lob.read and
UTL_FILE.PUT_RAW to read and write data into target file.
actually ...my process is working fine with text files but not with PDF and IMAGES ...
and your doubt of ..."Is the data the proper length after reading it in?" ..m not getting wat r you asking ...but ... i think regarding data length ..there is no problem... except ... source PDF length is 90.4 kb ..and Target is 90.8 kb..
thats it...
So Request u to add some more help ......or should i provide some more details ?? -
Import and process larger data with SQL*Loader and Java resource
Hello,
I have a project to import data from a text file in a schedule. A lager data, with nearly 20,000 record/1 hours.
After that, we have to analysis the data, and export the results into a another database.
I research about SQL*Loader and Java resource to do these task. But I have no experiment about that.
I'm afraid of the huge data, Oracle could be slowdown or the session in Java Resource application could be timeout.
Please tell me some advice about the solution.
Thank you very much.With '?' mark i mean " How i can link this COL1 with column in csv file ? "
Attilio -
SQL*Loader : ORA-19007 with missing Schema Location Hint
Hi,
These days I'm stuck with a 10.1.0.4 database (OS Linux Red Hat), and I'm trying to find a workaround for the following situation :
XML schema (sfgtest.xsd)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xdb="http://xmlns.oracle.com/xdb">
<xs:element name="Code" xdb:SQLName="Code" xdb:SQLType="VARCHAR2">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Val" xdb:SQLType="NUMBER" xdb:SQLName="Val">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Chq">
<xs:complexType xdb:SQLType="SFG_CHQ_TYPE">
<xs:sequence>
<xs:element ref="Code"/>
<xs:element ref="Val"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NbRem" xdb:SQLType="NUMBER" xdb:SQLName="NbRem">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Rmbt" xdb:defaultTable="TEST_XML_SFG">
<xs:complexType xdb:SQLType="SFG_RMBT_TYPE">
<xs:sequence>
<xs:element ref="NbRem"/>
<xs:element ref="Rem" maxOccurs="unbounded" xdb:SQLCollType="SFG_REM_COLL"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CodeAff" xdb:SQLName="CodeAff" xdb:SQLType="VARCHAR2">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Rem" xdb:SQLName="Rem">
<xs:complexType xdb:SQLType="SFG_REM_TYPE">
<xs:sequence>
<xs:element ref="CodeAff"/>
<xs:element ref="Chq" maxOccurs="unbounded" xdb:SQLCollType="SFG_CHQ_COLL"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Sample document (sfgtest.xml)
<?xml version="1.0" encoding="iso-8859-1"?>
<Rmbt>
<NbRem>3</NbRem>
<Rem>
<CodeAff>AFF001</CodeAff>
<Chq><Code>X01001</Code><Val>10.00</Val></Chq>
<Chq><Code>X01002</Code><Val>10.00</Val></Chq>
<Chq><Code>X01003</Code><Val>10.00</Val></Chq>
</Rem>
<Rem>
<CodeAff>AFF002</CodeAff>
<Chq><Code>X02001</Code><Val>10.00</Val></Chq>
<Chq><Code>X02002</Code><Val>10.00</Val></Chq>
<Chq><Code>X02003</Code><Val>10.00</Val></Chq>
</Rem>
<Rem>
<CodeAff>AFF003</CodeAff>
<Chq><Code>X03001</Code><Val>10.00</Val></Chq>
<Chq><Code>X03002</Code><Val>10.00</Val></Chq>
<Chq><Code>X03003</Code><Val>10.00</Val></Chq>
<Chq><Code>X03004</Code><Val>10.00</Val></Chq>
<Chq><Code>X03005</Code><Val>10.00</Val></Chq>
</Rem>
</Rmbt>
Schema registration
begin
dbms_xmlschema.registerSchema(
schemaURL => 'sfgtest.xsd',
schemaDoc => xmltype(bfilename('DUMP_DIR','sfgtest.xsd'),nls_charset_id('AL32UTF8')),
local => true,
genTypes => true,
genTables => false
end;
Table creation
create table test_xml_sfg of xmltype
xmltype store as object relational
xmlschema "sfgtest.xsd"
element "Rmbt"
varray xmldata."Rem" store as table test_xml_sfg_rem_tab
( primary key (NESTED_TABLE_ID, ARRAY_INDEX) ) organization index overflow
varray "Chq" store as table test_xml_sfg_chq_tab
( primary key (NESTED_TABLE_ID, ARRAY_INDEX) ) organization index overflow
);I originally wanted to use SQL*Loader to test performance, as I may have to load multiple files in the same time.
It works great on 10gR2 and 11gR2 with XML files up to 100 MB loaded in a matter of minutes.
However, a little issue with 10gR1 :
SQLLDR control file
LOAD DATA
INFILE 'filelist.txt'
APPEND
INTO TABLE test_xml_sfg
XMLTYPE(XMLDATA) (
filename filler char(260),
XMLDATA LOBFILE(filename) TERMINATED BY EOF
)with filelist.txt :
sfgtest.xmlExecution throws "ORA-19007: Schema - does not match expected sfgtest.xsd".
As per the documentation, it's expected behaviour in 10.1 :
http://download.oracle.com/docs/cd/B14117_01/appdev.101/b10790/xdb03usg.htm#BABECCBG
The XML document must include the appropriate attributes from the XMLSchema-instance namespace or the XML document must be explicitly associated with the XML schema using the XMLType constructor or the createSchemaBasedXML() method.Also as expected, the file is loaded OK after adding the following in the root element :
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="sfgtest.xsd"But, as I don't have any latitude on the files received (i.e. I can't add the location hint), is there some workaround, when using SQL*Loader, to treat the XML file as an instance document?
Thanks for any solution/idea.Not sure if it will work, but out of the top of my head I would make an attempt to create an view (for update) based on the XMLType table and do the insert via the view, matching the incoming XML doc to the schema via
xmltype(xml_messsage).createSchemaBasedXML(xml_schema) -
Problem with field-length in sql-loader
Hello,
(sorry I see it's the wrong forum -> SQL-Developer, I searched for SQL-Loader, is there a possibility to change the forum ?)
I can't find an answer for my question at google, so I hope there is someone in this forum who can help me.
I have a dat-File that contains 12 500 000 records and want to laod it via sql-loader. The first field contains the ID and there were numbers from 1 to 12 500 000 stored.
When I run the sql-loader, the ID run up to 9 999 999 and then, for the last 2 500 001 records, ist starts at 1 again.
I noticed a few things :
1. Numbers < 10 000 000 don't make Problems
2. Numbers >= 10 000 000 make Problems, the first digit ( in this example "1") is cut, so the number "10 000 001" ist stored as "1". It comes to double entries (IDs 1 to 2 500 000).
3. The same field-definition, I have for the third field of the record -> there is no Problem. THERE I can store any number.
4. I tried to store a number > 100 000 000 -> the first digit was cut too, but ONLY the first digit.
5. I'm able to store any number manually in the Database.
So, I have a problem with the first field. If the number is greater then 10 000 000, the first Number is cut. It doesn't make any differance, if the number is 10 000 000 or 999 999 999, just the first digit, in the first field, is cut.
Any idea ??????????
Here some infos :
Database :
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
SQL-PLUS :
SQL*Plus: Release 10.2.0.4.0 - Production
Script sqlldr :
sqlplus ${schema}/$2 <<EOF >>LOAD.LOG
set timing on
set echo on
set heading off
set heading on
!sqlldr userid=${schema}/$2 control=surface_geometry.ctl log=surface_geometry.log
exit
EOF
ctl-File :
LOAD DATA
INFILE imp_surface_geometry_test2
TRUNCATE
CONTINUEIF NEXT(1:1) = '#'
INTO TABLE SURFACE_GEOMETRY
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS (
ID INTEGER EXTERNAL ,
GMLID,
GMLID_CODESPACE,
PARENT_ID NULLIF PARENT_ID = BLANKS,
ROOT_ID NULLIF ROOT_ID = BLANKS,
IS_SOLID,
IS_COMPOSITE,
IS_TRIANGULATED,
IS_XLINK,
IS_REVERSE,
GEB_ID,
GEOMETRY COLUMN OBJECT
SDO_GTYPE INTEGER EXTERNAL,
SDO_SRID CONSTANT 31468,
SDO_ELEM_INFO VARRAY TERMINATED BY '|/'
(X FLOAT EXTERNAL),
SDO_ORDINATES VARRAY TERMINATED BY '|/'
(X FLOAT EXTERNAL)
Table-Definition (sql-File) :
CREATE TABLE SURFACE_GEOMETRY (
ID NUMBER,
GMLID VARCHAR2(256),
GMLID_CODESPACE VARCHAR2(1000),
PARENT_ID NUMBER,
ROOT_ID NUMBER,
IS_SOLID NUMBER(1,0),
IS_COMPOSITE NUMBER(1,0),
IS_TRIANGULATED NUMBER(1,0),
IS_XLINK NUMBER(1,0),
IS_REVERSE NUMBER(1,0),
GEB_ID CHAR(7),
GEOMETRY MDSYS.SDO_GEOMETRY,
CONSTRAINT c_unique_id UNIQUE (ID))
storage (initial 1M next 1M maxextents 1024) ;
Some Entries in the dat-File :
12556067| |XXX|12556066|12556066|0|0|0|0|0| |
#3003|1|1003|1|/
#4479400.000000|5333360.000000| 526.870000|4479380.000000|5333360.000000| 526.720000|4479400.000000|5333340.000000| 526.980000|4479400.000000|5333360.000000| 526.870000|/
12556068| |XXX| |12556068|0|0|1|0|0| |
#||/
#|/
12556069| |XXX|12556068|12556068|0|0|0|0|0| |
#3003|1|1003|1|/
#4479380.000000|5333380.000000| 526.600000|4479380.000000|5333360.000000| 526.720000|4479400.000000|5333360.000000| 526.870000|4479380.000000|5333380.000000| 526.600000|/
log-File : (100 records for the test)
SQL*Loader: Release 10.2.0.4.0 - Production on Fr Mai 28 15:16:43 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Kontrolldatei: surface_geometry.ctl
Datendatei: imp_surface_geometry_test.dat
Fehlerdatei: imp_surface_geometry_test.bad
Datei für zurückgewiesene Sätze: nichts spezifiziert
(alle Discards zulassen)
Zu ladende Anzahl: ALL
Zu überspringende Anzahl: 0
Zulässige Fehler: 50
Bind-Array: 64 Zeilen, maximal 256000 Bytes
Fortsetzung: 1:1 = 0X23(Zeichen '#'), im nächsten physischen Satz
Benutzer Pfad: Konventionell
Tabelle SURFACE_GEOMETRY, geladen von jedem logischen Satz.
Insert-Option in Kraft für diese Tabelle: TRUNCATE
Option TRAILING NULLCOLS ist wirksam
Spaltenname Position Läng Term Eing Datentyp
ID FIRST * | CHARACTER
GMLID NEXT * | CHARACTER
GMLID_CODESPACE NEXT * | CHARACTER
PARENT_ID NEXT * | CHARACTER
NULL wenn PARENT_ID = BLANKS
ROOT_ID NEXT * | CHARACTER
NULL wenn ROOT_ID = BLANKS
IS_SOLID NEXT * | CHARACTER
IS_COMPOSITE NEXT * | CHARACTER
IS_TRIANGULATED NEXT * | CHARACTER
IS_XLINK NEXT * | CHARACTER
IS_REVERSE NEXT * | CHARACTER
GEB_ID NEXT * | CHARACTER
GEOMETRY DERIVED * COLUMN OBJECT
*** Felder in GEOMETRY
SDO_GTYPE NEXT * | CHARACTER
SDO_SRID CONSTANT
Wert ist '31468'
SDO_ELEM_INFO DERIVED * VARRAY
Abschlusszeichenfolge : '|/'
*** Felder in GEOMETRY.SDO_ELEM_INFO
X FIRST * | CHARACTER
*** Feldende in GEOMETRY.SDO_ELEM_INFO
SDO_ORDINATES DERIVED * VARRAY
Abschlusszeichenfolge : '|/'
*** Felder in GEOMETRY.SDO_ORDINATES
X FIRST * | CHARACTER
*** Feldende in GEOMETRY.SDO_ORDINATES
*** Feldende in GEOMETRY
Tabelle SURFACE_GEOMETRY:
100 Zeilen erfolgreich geladen.
0 Zeilen aufgrund von Datenfehlern nicht geladen.
0 Zeilen nicht geladen, da alle WHEN-Klauseln fehlerhaft waren.
0 Zeilen nicht geladen, da alle Felder NULL waren.
Zugewiesener Bereich für Bind-Array: 232576 Bytes (64 Zeilen)
Byte in Lese-Puffer: 1048576
Gesamtzahl der übersprungenen logischen Datensätze: 0
Gesamtzahl der gelesenen logischen Datensätze: 100
Gesamtzahl der abgelehnten logischen Datensätze: 0
Gesamtzahl der zurückgewiesenen logischen Datensätze: 0
Lauf begonnen am Fr Mai 28 15:16:43 2010
Lauf beendet am Fr Mai 28 15:16:43 2010
Abgelaufene Zeit: 00:00:00.19
CPU-Zeit: 00:00:00.01
Edited by: user9338988 on 28.05.2010 06:21sorry, wrong forum. I opened the thread in forum "Export/Import/SQL-Loader & External Tables"
-
Loading spatial data by sql *loader
hi there
i have a load_kat_opcina.ctl file from which i should load spatial data into my 10g db table.
load_data.ctl file is as shown below:
LOAD DATA
INFILE *
REPLACE
CONTINUEIF NEXT(1:1) = '#'
INTO TABLE KAT_OPCINA
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(KO_MBR NULLIF KO_MBR=BLANKS,
KO_SIFRA NULLIF KO_SIFRA=BLANKS,
KO_NAZIV NULLIF KO_NAZIV=BLANKS,
KO_ID NULLIF KO_ID=BLANKS,
ID NULLIF ID=BLANKS,
is_null1 FILLER CHAR,
POVRSINA COLUMN OBJECT NULLIF is_null1='E'
( sdo_gtype INTEGER EXTERNAL,
sdo_srid INTEGER EXTERNAL NULLIF POVRSINA.sdo_srid=BLANKS,
SDO_POINT COLUMN OBJECT NULLIF is_null1='C'
( X INTEGER EXTERNAL,
Y INTEGER EXTERNAL,
Z INTEGER EXTERNAL NULLIF POVRSINA.SDO_POINT.Z=BLANKS),
SDO_ELEM_INFO VARRAY terminated by ';' NULLIF is_null1='P'
(SDO_ORDINATES INTEGER EXTERNAL),
SDO_ORDINATES VARRAY terminated by ':' NULLIF is_null1='P'
(SDO_ORDINATES INTEGER EXTERNAL)
BEGINDATA
0|426|MARKU[EVEC|314717|6789094|
0|3131|VURNOVEC|16605787|6789097|
#C|2003|||||1|1005|3|1|2|1|169|......|5589490440|5082192250:
0|3034|\UR\EKOVEC|16225011|6789100|
0|35|^EHI|12297784|6789190|
#C|2003|||||1|1005|2|1|2|1|239|....|5574944600|5064714553:
0|221|ODRANSKI OBRE@|12441649|6789193|
0|353|TRPUCI|14071974|6789199|
i have deleted most of data here due to space savings.
i call sql *loader from winxp command prompt as follows:
SQLLDR CONTROL=C:\temp\load_kat_opcina.ctl, USERID=username/pswrd@sid, LOG=logfile.log,BAD==baz.bad, DISCARD=DISCARD=toss.dsc
after executing command, table 'kat_opcina' is not filled with data from this .ctl file.
the following is the content of the log file:
SQL*Loader: Release 10.2.0.1.0 - Production on Sri Svi 31 14:20:28 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Control File: C:\TEMP\load_kat_opcina.ctl
Data File: C:\TEMP\load_kat_opcina.ctl
Bad File: C:\TEMP\baz.bad
Discard File: C:\TEMP\toss.dsc
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 256000 bytes
Continuation: 1:1 = 0X23(character '#'), in next physical record
Path used: Conventional
Table KAT_OPCINA, loaded from every logical record.
Insert option in effect for this table: REPLACE
TRAILING NULLCOLS option in effect
Column Name Position Len Term Encl Datatype
KO_MBR FIRST * | O(") CHARACTER
NULL if KO_MBR = BLANKS
KO_SIFRA NEXT * | O(") CHARACTER
NULL if KO_SIFRA = BLANKS
KO_NAZIV NEXT * | O(") CHARACTER
NULL if KO_NAZIV = BLANKS
KO_ID NEXT * | O(") CHARACTER
NULL if KO_ID = BLANKS
ID NEXT * | O(") CHARACTER
NULL if ID = BLANKS
IS_NULL1 NEXT * | O(") CHARACTER
(FILLER FIELD)
POVRSINA DERIVED * COLUMN OBJECT
NULL if IS_NULL1 = 0X45(character 'E')
*** Fields in POVRSINA
SDO_GTYPE NEXT * | O(") CHARACTER
SDO_SRID NEXT * | O(") CHARACTER
NULL if POVRSINA.SDO_SRID = BLANKS
SDO_POINT DERIVED * COLUMN OBJECT
NULL if IS_NULL1 = 0X43(character 'C')
*** Fields in POVRSINA.SDO_POINT
X NEXT * | O(") CHARACTER
Y NEXT * | O(") CHARACTER
Z NEXT * | O(") CHARACTER
NULL if POVRSINA.SDO_POINT.Z = BLANKS
*** End of fields in POVRSINA.SDO_POINT
SDO_ELEM_INFO DERIVED * ; VARRAY
NULL if IS_NULL1 = 0X50(character 'P')
*** Fields in POVRSINA.SDO_ELEM_INFO
SDO_ORDINATES FIRST * | O(") CHARACTER
*** End of fields in POVRSINA.SDO_ELEM_INFO
SDO_ORDINATES DERIVED * : VARRAY
NULL if IS_NULL1 = 0X50(character 'P')
*** Fields in POVRSINA.SDO_ORDINATES
SDO_ORDINATES FIRST * | O(") CHARACTER
*** End of fields in POVRSINA.SDO_ORDINATES
*** End of fields in POVRSINA
Record 1: Rejected - Error on table KAT_OPCINA.
ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
ORA-13365: layer SRID does not match geometry SRID
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 623
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 227
Record 2: Rejected - Error on table KAT_OPCINA.
ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
ORA-13365: layer SRID does not match geometry SRID
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 623
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 227
Record 33: Rejected - Error on table KAT_OPCINA.
ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
ORA-13365: layer SRID does not match geometry SRID
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 623
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 227
SQL*Loader-510: Physical record in data file (C:\TEMP\load_kat_opcina.ctl) is longer than the maximum(65536)
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
Specify SKIP=33 when continuing the load.
Table KAT_OPCINA:
0 Rows successfully loaded.
33 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: 215168 bytes(64 rows)
Read buffer bytes: 1048576
Total logical records skipped: 0
Total logical records read: 33
Total logical records rejected: 33
Total logical records discarded: 0
Run began on Sri Svi 31 14:20:28 2006
Run ended on Sri Svi 31 14:20:32 2006
Elapsed time was: 00:00:04.51
CPU time was: 00:00:00.26
error messages are all the same for record numbers: 3-32.
so, i'd like to know what am i doing wrong that table cannot be filled with data using sql *loader.
also, would like to know if there's another way of loading data into table from .ctl file (using maybe some other tool)
appreciate any help
thanksHi,
You receive:
ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
ORA-13365: layer SRID does not match geometry SRID
Have you created spatial index for table PORVSINA? I guess that yes, and you have created it with non NULL SRID value? So, ORA-13365 means that you are trying to insert spatial data with SRID that is not the same as SRID defined in spatial index.
Check index SRID and your data SRID, they must be the same. Or, you can disable spatial index.
Andrejus
Maybe you are looking for
-
Problem storing music on external hard drive and iTunes recognising the music.
Hi hope someone is able to help. I've set up iTunes on my parents windows Laptop to store all the music on an external hardrive. In preferences and in advanced I altered where the music was located. But unfortunately when they removed the external an
-
I can't drag and drop from windows explorer into my ipod on itunes. Any suggestions?
Hi, I manage my music/podcast library on my Vista PC using windows explorer because I don't like how iTunes does it. Then today I can no longer drag and drop from explorer onto my iPod in iTunes all I get is a circle with a line through it meaning "i
-
Kodo plug-in and JBuilder: If I create one class with absolutely nothing in it except one declaration: private ArrayList test = new ArrayList(); and then compile that class and then right click on the class and select "Create JDO metadata" it success
-
I have many PDF's in iBooks, but would like to open them in Adobe Reader so I can make notes. How can I do this easily?
-
I am unable to open any old .doc files.