Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

SQL*Loader-510 & SQL*Loader-2026 in the log file but no bad file. I need help understanding it.

Status
Not open for further replies.

csphard

Programmer
Apr 5, 2002
194
US
I am getting this error message in my log file and I am not sure what it means and what I need to do?


value used for ROWS parameter changed from 64 to 1
SQL*Loader-510: Physical record in data file (c:\DSR_LGCY_DATA\DSR.txt) is longer than the maximum(65536)
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
Specify SKIP=972 when continuing the load.

Table DSR:
972 Rows successfully loaded.
0 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.



My control file




LOAD DATA


INFILE *


APPEND


INTO TABLE DSR


FIELDS TERMINATED BY "<:s:>"


(RecordNo CHAR (8),


DocumentUniversalID CHAR (32),


CreationDate CHAR (30),


ETL_STATUS CHAR (250),


AccessLevel CHAR (4000),


Author CHAR (4000),


AuthorizedEditors CHAR (4000),


ConditionName CHAR (4000),


ConditionType CHAR (4000),


CurrentAssignee CHAR (4000),


CurrentAssigneeAssistant CHAR (4000),


CurrentAssigneePosition CHAR (4000),


CurrentStep CHAR (4000),


CurrentStepStartDate CHAR (4000),


DDNotify CHAR (4000),


DDReassign CHAR (4000),


Dis_AllowAssistantToEdit CHAR (4000),


Dis_AllowGoBack CHAR (4000),


Dis_AllowNotification CHAR (4000),


Dis_AllowQuestion CHAR (4000),


Dis_AllowReassign CHAR (4000),


Dis_AllowSave CHAR (4000),


Dis_CalendarDateField CHAR (4000),


Dis_CompleteActionPrompt CHAR (4000),


Dis_GoBackWhenComplete CHAR (4000),


Dis_ResetStatus CHAR (4000),


Dis_ShowDueDate CHAR (4000),


Dis_SystemFields CHAR (4000),


Dis_UsesReaderNames CHAR (4000),


DSRAssignToSelf CHAR (4000),


DSRBureau CHAR (4000),


DSRContact CHAR (4000),


DSRContactPhone CHAR (4000),


DSRDescription CHAR (80000),


DSRDistrict CHAR (4000),


DSRDivision CHAR (4000),


DSREstimate CHAR (4000),


DSRFrequency CHAR (4000),


DSRFunctionalArea CHAR (4000),


DSRJustifyReport CHAR (4000),


DSRPriorityDesc CHAR (4000),


DSRPurpose CHAR (4000),


DSRQuestionsAnswered CHAR (4000),


DSRRequestDate CHAR (4000),


DSRRequestNo CHAR (4000),


DSRTitle CHAR (4000),


DueDate CHAR (4000),


ExecutionOrder CHAR (4000),


FORM CHAR (4000),


HAssignee CHAR (40000),


HDate CHAR (4000),


HNextAssignee CHAR (40000),


HNextPosition CHAR (4000),


HNextStep CHAR (4000),


HPerformer CHAR (40000),


HPosition CHAR (4000),


HReason CHAR (4000),


HStep CHAR (4000),


NAction CHAR (4000),


NAddedPerson CHAR (4000),


NDate CHAR (4000),


NDeletedPerson CHAR (4000),


NPerformer CHAR (4000),


PastAuthors CHAR (4000),


PastEditDates CHAR (4000),


PeopleInvolved CHAR (4000),


PositionOfPeople CHAR (4000),


RequestDate CHAR (4000),


RequesterName CHAR (4000),


RequestId CHAR (4000),


RequestStatus CHAR (4000),


RequestStatusChange CHAR (4000),


RequestStatusDate CHAR (4000),


ResponseTypeAction CHAR (4000),


ResponseTypesAllowed CHAR (4000),


SDate CHAR (4000),


SortOrder CHAR (4000),


SPerformer CHAR (4000),


SStatus CHAR (4000),


StepType CHAR (4000),


TimesModified CHAR (4000),


WorkflowObject CHAR (4000),


FILE1 CHAR (4000),


Revisions CHAR (4000),


REFPARENT CHAR (4000),


UpdatedBy CHAR (40000))


BEGINDATA


I look at the error message again and it states Specify SKIP=972 when continuing the load.


I looked up skip and use the option SKIP=972.


sql loader statement:
C:\DSR_LGCY_DATA>sqlldr e406702/e406702@APEXD4 control=c:\DSR_LGCY_DATA\DSR.txt
log=c:\DSR_LGCY_DATA\DSR.log bad=c:\DSR_LGCY_DATA\DSR.bad SKIP=972


I got this Error message

SQL*Loader: Release 11.2.0.1.0 - Production on Wed Feb 5 17:00:46 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

SQL*Loader-510: Physical record in data file (c:\DSR_LGCY_DATA\DSR.txt) is longe
r than the maximum(65536)
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.

C:\DSR_LGCY_DATA>


Am I doing something wrong?



 
Try adding
readsize=3000000
to your statement and see if that helps.
 
I just added readsize=2000000000 bindsize=2000000000

and it did not work. I check the character size and it was 69000. So is it that sql loader cannot handle that?
 
As a standard always ensure you specify the record terminator - never assume the default is the correct one for the file you are loading. - this one is probably what is causing your error.

By looking at your input definition you may have a max record of 548320, with a max LOB of 80000 - quite big and you may need to use specific options to allow for a good performance of loading this data.

more specifically you will need to look at readsize, bindsize, streamsize and columnarrayrows
And direct path load most likely

does have some info on this - but you will need to try out

Regards

Frederico Fonseca
SysSoft Integrated Ltd

FAQ219-2884
FAQ181-2886
 
Thanks.. I am reading this documentations
 
Question about record terminator. My records are inclosed by <:s:>. Therefore I am seeing that as my record terminator. However that is being thrown out.

I change it to this after seeing this in the docs: INFILE datafile_name ["str terminator_string"]

LOAD DATA
INFILE * "str '<:s:>'"
APPEND
INTO TABLE DSR
FIELDS TERMINATED BY "<:s:>"

Sample of data:

973<:s:>2422D277E40D40BE88257497006F8B0C<:s:>7/31/2008 1:18:20 PM<:s:><:s:><:s:>CN=nn
ran/OU=CTS/O=LAS<:s:>Done<:s:>Default<:s:>Approve/Complete<:s:>CN=effey
Che/OU=CSD/O=LAS<:s:><:s:>Team Leader<:s:>Complete<:s:>11/24/2008 2:44:10
PM<:s:>0<:s:><:s:><:s:><:s:><:s:><:s:><:s:><:s:><:s:><:s:><:s:><:s:><:s:><:s:><:s:>No<:s:>ASO


SQL*Loader-283: file processing string "str '<:s:>'" ignored for INFILE *
SQL*Loader-510: Physical record in data file (c:\DSR_LGCY_DATA\DSR.txt) is longe
r than the maximum(65536)
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.

Is that not correct?



 
something wrong there.

you have FIELDS TERMINATED BY "<:s:>" - this is the field(column) delimiter - can't be the record delimiter also.

Get a hex record editor and see what are the byte(s) that separate 2 lines on your input file
as you are on a windows machine its most likely going to be 0D0A (cr+lf) which would be represented a \r\n

Regards

Frederico Fonseca
SysSoft Integrated Ltd

FAQ219-2884
FAQ181-2886
 
What I did was to have the description separted.

Changed DSRDescription CHAR (4000) TO DSRDescription CHAR (80000).

I thought the CHAR could not be greated than 4000.
If I lower it to 4000. I do not get all my descriptions because of the size.
Why does this work.


Control file.

LOAD DATA
INFILE 'DSR2DATA.txt' "str '\r'"
APPEND
INTO TABLE DSR2
FIELDS TERMINATED BY "<:s:>"
(RecordNo CHAR (8),
DocumentUniversalID CHAR (32),
CreationDate CHAR (30),
ETL_STATUS CHAR (250),
DSRDescription CHAR (80000),
FORM CHAR (4000),
RequestId CHAR (4000))



 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top