Link to home
Start Free TrialLog in
Avatar of happylife1234
happylife1234

asked on

SQL*Loader-704: Internal Error: ulconnect: OCIEnvCreate [-1]

I ma new to using SQl Loader. I am trying to load a datafile into a table and am running sqlldr from my pc. I have oracle 10.2 client installed in my machine. The ORACLE_HOME and PATH is properly set.
But when I invoke sqlldr , I am getting the following msg

H:\Data>sqlldr zbc/*********@test1 control=DataLdr.ctl

SQL*Loader: Release 10.2.0.1.0 - Production on Tue Sep 1 11:08:47 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL*Loader-704: Internal error: ulconnect: OCIEnvCreate [-1]

zbc is a schema in the test1 database. I am logged into the pc as say name123.

Can anyone tell me what I am doing wrong.

Thanks
Avatar of mrjoltcola
mrjoltcola
Flag of United States of America image

Can you properly connect via sqlplus from the same PC?

sqlplus zbc/*****@test1
Avatar of happylife1234
happylife1234

ASKER

Yes, I can do that.
Can you show your tnsnames.ora and your sql loader control file?
also
set Oracle_sid= your sid name
and
set Oracle_home=your home
Strangely when I run the sqlldr from another machine, it works fine.
D:\Data>sqlldr zbc/********@test1 control=DataLdr.ctl

SQL*Loader: Release 10.2.0.3.0 - Production on Tue Sep 1 12:42:15 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Commit point reached - logical record count 63

Based on the other link, it looks like it could be a user privileges problem.

The DataCtr.ctl  looks like -
load data
 infile 'H:\Data\200931DATAX.txt'
 into table dmp_temp
 fields terminated by "|"         
 ( col1, col2, col3 )

Which user should be having access to H:\Data folder.

Thanks
then go this folder on this specific drive and
right click
properties --security and make sure that the user looged to the terminal /which is you right now has full privil read right exec.
Note due to some windows bug even if the user is part of the admin group you have to add him by name .

then

set Oracle_sid= your sid name
and
set Oracle_home=your home
Try running sqlldr from the same user you installed the software as. I agree, it may be a privs issue.
it-rex,
I ensured that I have full access to the H:\Data folder and that I have added my name to the list of users who have access.

I have also set oracle_sid and oracle_home and it still doesnt work.

mrjoltcola,
I dont know who installed the software. I am assuming that since sqlplus works fine, sqlldr should also work regardless of who installed the client.

Any other suggestions that I can try.

Thanks
have you verified this as per the answer

That should work if you are running this on the Oracle server (or it can work from a client PC as well if you have the Oracle database utilities installed on your PC and they are the same version of Oracle as your database).  Then, this control file assumes the existing table is empty.  Is that true?  If not, you will have to add the keyword: "append" to your control file.

Also, the date values in your data file are in the European format: "DD/MM/YYYY" so your NLS_DATE_FORMAT will also have to be: "DD/MM/YYYY" or you will get an error due to the date value
ASKER CERTIFIED SOLUTION
Avatar of mrjoltcola
mrjoltcola
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial