невозможно подключиться к sqlcl с именем пользователя, содержащим $, используя синтаксис EzConnect - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь подключиться к схеме базы данных 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".Ничего не работает

Как экранировать символ $ в имени пользователя?

1 Ответ

0 голосов
/ 16 января 2019

Может потребоваться экранировать символ $ 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> 
...