Невозможно подключиться к sqlcl с именем пользователя, содержащим $, используя синтаксис EzConnect
Я пытаюсь подключиться к схеме базы данных Oracle, имя пользователя которой содержит $, например: ABCD $ EFG
./sql.bat ABCD$EFG/dbpassword@dbhostname:1521:dbservicename
Имя пользователя ошибочно идентифицировано как ABCD вместо ABCD $ EFG.
USER = ABCD
URL = jdbc:oracle:thin:@dbhostname:1521:dbservicename
Error Message = ORA-01017: invalid username/password; logon denied
Я пробовал "ABCD $ EFG", "ABCD \ $ EFG". Ничего не работает
Как экранировать символ $ в имени пользователя?
0 ответов
Может возникнуть необходимость избежать $ on linux/mac, который означает переменную env, которую он попытается заменить.
Вот это работает и обратите внимание на \$
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
SQL> create user "ABCD$EFG" identified by dbpassword;
User "ABCD$EFG" created.
SQL> grant connect,resource to "ABCD$EFG";
Grant succeeded.
SQL>
Disconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
dhcp-10-10-180-36:ords klrice$ sql "ABCD\$EFG"/dbpassword@//localhost:1521/xe
SQLcl: Release 18.4 Production on Wed Jan 16 14:14:16 2019
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
SQL>