TOracleDirectPathLoader - Delphi XE2, Invalid Commit ORA-24795

waksman

Member
How can i find what is wrong with the Finish method?

I'm loading a huge file to the database and it's throwing an error "ORA-24795" when calling the Finish method.

But it's trowing this erro only with Oracle 11g, in 10g it's doesn't.

It doesn't looks like the Finish it's self have a problem, it's called several times without error. Looks like some especific instroction is causing the issue, but how can i figure it out?
 
Last edited:
I can try, can you tell me where to find the demo project?

As far i test it.
We are loading a file with 806067 lines, when it's reach the line 562627 it's throw an error on the LOAD method. But, the erro is NIL with EOracleError exception. So i change it to normal Exception and got NIL to.

i swaped the content of the line 562627 with 562626 and guess what, the erro raise on the line 562627.

So i skip the line 562627 and it's throw an error on next line. Looks like something with the number of lines or the file size... If I stoped the reading and Finishes just before the line 562627 and it's works.

after the error is raised, are some frequently erros, if you skip one line, all erros change one line too. If you delete one line from the file, the number of error line keep the same.

try
oDpl.Load(nRec);
except
//on E: EOracleError do
on E: Exception do
....
end

So far i guess that if no error is raised on the LOAD method, the finish will work.
 
Last edited:
That is the last thing I found.

The error on the LOAD method is just rised on the 11g engine. No error is raised on the 10g on the LOAD method. The great problem is that the Exception variable is NIL... so no clue what can it be. The line content is the same as the other ones..

I found the Demo project, the reading of the file is a little bit different but the rest is the same, i'll try to generate a file with lots of rows and load it.

on the Demo project, the mehotd LoadFile, never loads any line on

121: Lines.LoadFromFile(Filename);

so i changed to this:

//Lines.LoadFromFile(Filename);
AssignFile(oFil, Filename);
Reset(oFil);
while not Eof(oFil) do begin
Readln(oFil, LineText);
Lines.Add(LineText);
end;
CloseFile(oFil);

I just change the colum lenght of your demo from 80 to 327 so that match my file.

After that, I let the Demo running, and after a while got an error: ORA-01653 no table space.

I'll try it on the 10g

Looks like there is something different from the 11g to 10g with the

storage (initial 300M)

i'm looking on the error: ORA-01658 that pointing to Disk space or table space problem...

In your Demo, i'm able to get the Exception on the Load Method, and it's identical as my project, but I only get NIL.

In my project I dynamic creathe the object with this code:

oDpl := TOracleDirectPathLoader.Create(nil);
with oDpl do
begin
BufferSize := 8192000;
Session := Database;
TableName := cTab;
GetDefaultColumns(True);
Prepare;
end;
 
Last edited:
Turns out that was the database config. The only thing i missed is the error em the LOAD Method.

I wasn't able to get an error, only nil
 
Back
Top