SQL*Loader-704 Error

Published: 20 Aug 2008

While using Oracle's SQL Loader utility the other day, I ran into a subtlety which wasn't obvious. Most of the documentation out there describes the userid param as just taking user/pass. But it actually can take the user/pass@SID form as well. If you get an exception message something like the following:

SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0] ORA-12541: TNS:no listener

try qualifying your sqlldr command with .world:

so

sqlldr userid=user/pass@yourSID control=test.ctl

becomes

sqlldr userid=user/pass@yourSID.world control=test.ctl