我正试图连接到用户名包含$的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"。什么都不管用。
如何转义用户名中的$符号?
可能需要转义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>