hi experts, I have a question regarding the sqlldr.exe. I don't understand why the sqlldr.exe doesn't exit even after it finishes loading data to the database. Is there anything wrong with my control file or because of something else? Please help! I have been struggling with this for few days.
Here is my files for the sqlldr. can anyone tell me what the problem is? thanks.
the log file, "testload.log":
SQL*Loader: Release 126.96.36.199.0 - Production on Thu Feb 1 10:41:31 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
Control File: C:\codes\bcp\oracle\testload02.ctl
Data File: C:\codes\bcp\oracle\testdata.csv
Bad File: testload.bad
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 65536 bytes
Continuation: none specified
Path used: Conventional
Table HGANTEST, loaded from every logical record.
Insert option in effect for this table: REPLACE
Column Name Position Len Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
LOAN_NUM FIRST * , CHARACTER
NONE NEXT * , CHARACTER
CUR_BAL NEXT * , CHARACTER
INTEREST NEXT * n CHARACTER
5 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.
Space allocated for bind array: 65016 bytes(84 rows)
Space allocated for memory besides bind array: 0 bytes
Total logical records skipped: 0
Total logical records read: 5
Total logical records rejected: 0
Total logical records discarded: 0
Run began on Thu Feb 01 10:41:31 2001
Run ended on Thu Feb 01 10:41:35 2001
Elapsed time was: 00:00:03.67
CPU time was: 00:00:00.12
Sometimes these executables doesn't work with server memory problems also. Last week we had the same problem with svrmgr/sqlplus executables. It will come out after 3-5 min
you type in exit. Again its resolved on its own after 24 hours. Its strange. Noone did anything.
If you wanna test this, use your load from somewhere else using connect string.
Call sqlldr from sql script. Connect to sqlplus using another box executables and call that sql script.
About the sqlldr.exe exitting problem, I found out that the sqlldr.exe exits only when it is executed on the same machine as the oracle database server.
I am connecting to the database from aclient machine, the client machine also has the oracle client edition installed. so when I call the sqlldr.exe, it uses the client copy. I have test it many times, it doesn't work on the client machine doesn't matter whether I put 'EXIT' at the end of the sqlldr script or not.
To make my question clear, I will explain what I am doing below. :
There are 3 machines in this scenario:
1) client machine
2) web server machine
3) database server
My project only has two parts,
1) a .csv data file is uploaded to the web server machine from the client machine
2) invoke the sql loader to load data from the .csv file to the database.
My question is:
Can I invoke the sqlldr.exe on the database server machine to load the data file from a different machine(the web server machine in this case, you know, not all client machines have oracle install. )? How?