Handover password with @-symbol in command line call for automatic login not possible

Hi!

It is possible to start the plsqldev.exe with command line parameter to automatically log on to a database like this:

plsqldev.exe userid=TESTUSER01/password@DEV_DB

Unfortunately this does not work with passwords containing the @-symbol. When you e. g. have a command line like this

plsqldev.exe userid=TESTUSER01/pass@word@DEV_DB

the PL/SQL Developer will think, that "pass" is the password and "word@DEV_DB" is the database. I am well aware that in general it is not a good idea to have an @-symbol in the password and it is also quite tricky to get it to work in e. g. SQLPLUS. Unfortunately we have this issue with some of our customers test and production environments and they sometimes can be very reluctant when asked to change their passwords. ;)

I already tried different things but nothing worked, e. g.

1. Quoting the password: userid=TESTUSER01/"pass@word"@DEV_DB
2. Escaping the @-symbol: userid=TESTUSER01/pass\@word@DEV_DB
3. Try the syntax that works in SQLPLUS: userid=TESTUSER01/\"pass@word\"@DEV_DB

Therefore my questions are: Is there any way to pass a password containing an @-symbol via command line already? If not is it possible to allow @-symbols in password in command line in a future version?

I would expect this to be a minor change and instead of splitting the input by the first @-symbol to split it by the last.

We are currently still running version 10.0.1 but I could not find anything regarding this issues in the changelogs of neither 10.0.5 nor 11.0.4.

Thanks in advance for your feedback!

Best Regards
Jonas
 
I'd rather opt for it to work in a similar fashion to what works with SQL*Plus, so not the "last @ sign", but just quoted identifiers. That not only goes for passwords, but also for user names (as those also can have special characters in them, e.g. the "@" sign or the slash "/").
 
Either way would be fine I think. Allowing a quoted identifier like it works for SQL Plus would probably be the best solution - Looking for the last @-symbol is probably the easier one.
 
Back
Top