Environment: Oracle 11.2.0 Servers and Clients; Oracle 12.1.0 Servers and Clients.
We have a need to logon to Oracle Server using mixed cased usernames.
This worked fine with SQL*Plus using escaped double quotes on both Windows and Unix operating systems:
sqlplus \"MyUserName\"/MyPwd@MyServerName
But no such luck with SQL*Loader. The following showed different error messages with different attempts:
1) When double quotes were escaped then the first parameter becomes multi-valued:
sqlldr \"MyUserName\"/MyPwd@MyServerName control=MyLocalDataFile.ctl
LRM-00112: multiple values not allowed for parameter 'control'
sqlldr userid=\"MyUserName\"/MyPwd@MyServerName
then at the prompt of control file enter the control file name
LRM-00112: multiple values not allowed for parameter 'userid'
2) Double quote the entire username/pwd@instanceName:
sqlldr \"MyUserName/MyPwd@MyServerName\" control=MyLocalDataFile.ctl
SQL*Loader-128: unable to begin a session
ORA-01017: invalid username/password; logon denied
3) Taking out the escape backslash:
sqlldr userid="MyUserName"/MyPwd@MyServerName
SQL*Loader-128: unable to begin a session
ORA-01017: invalid username/password; logon denied
In one user forum I read that SQL*Loader unlike SQL*Plus, it requires single quote instead of double quote for control file path, so I thought I would try the username in single quotes;
4)
sqlldr \'MyUserName\'/MyPwd@MyServerName control=MyLocalDataFile.ctl
LRM-00112: multiple values not allowed for parameter 'control'
sqlldr 'MyUserName'/MyPwd@MyServerName control=MyLocalDataFile.ctl
SQL*Loader-128: unable to begin a session
ORA-01017: invalid username/password; logon denied
sqlldr 'MyUserName/MyPwd@MyServerName' control=MyLocalDataFile.ctl
SQL*Loader-128: unable to begin a session
ORA-01017: invalid username/password; logon denied
sqlldr \'MyUserName/MyPwd@MyServerName\' control=MyLocalDataFile.ctl
SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
ORA-12560: TNS:protocol adapter error
5) using combination of single quote and double quote:
sqlldr "'MyUserName'"/MyPwd@MyServerName control=MyLocalDataFile.ctl
LRM-00112: multiple values not allowed for parameter 'control'
sqlldr '"MyUserName"'/MyPwd@MyServerName control=MyLocalDataFile.ctl
LRM-00112: multiple values not allowed for parameter 'control'
I'm running out of ideas.
Any help is appreciated!
Regards, Nancy