4
votes

I have issue with special character in password - '@'. Issue that i don't know how to pass password with this special character to script file and connect using sqlplus.

For example i have user 'test_user' with password 'temp123@'. For login via sqlplus i use following string with escaping: sqlplus test_user/\"temp123@\"@some-db:1521/SID

It's works well. For my case i need to pass password as parameter for sql script. For example, i have following script to connect (actually script using several pairs of login/password to update many users at once):

-- @deploy.sql
connect &&2./&&3.@&&1.

At have failure with that because password with '@' can't interpreted correctly by sqlplus. I tried many advices from google with escaping but mostly of them applicable for connect string at sqlplus invoke. For my case its required for parameter that passed to script.

2

2 Answers

5
votes

use : cmd.exe and not powershell window

if not : 

in powershell windows : sqlplus 'login/\"P@$$w0rd\"@TNS_NAME'

in cmde.exe : sqlplus login/\"P@$$w0rd\"@TNS_NAME

0
votes

Just quotes required in connect string:

connect &&2./"&&3."@&&1.