为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:```language
conn方式连接时,如果密码中包含@符号,该怎么实现连接?
SQL> conn 'topicis/"Topnet@123"'
USAGE:CONN[ECT] <logon>
<logon> ::= {<username>[/<password>] | /}[@<connect_identifier>][<logon_option>] [<os_auth>]
<connect_identifier> ::= [<svc_name> | Host[:Port] | <unixsocket_file>]
Host ::= if ipv6 address,[] is needed. For example [fe80::1e6f:65ff:fed1:3724%6]
<unixsocket_file> ::= If INET_TYPE is UNIXSOCKET, then <connect_identifier> must be unixsocket file path name. For example, /data/sdb/DAMENG/foo.sock
<logon_option> ::= #{<extend_option>=<value>[,<extend_option>=<value>]...}
<os_auth> ::= AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
<extend_option> <value>
MPP_TYPE GLOBAL/LOCAL
INET_TYPE UDP/TCP/IPC/RDMA/UNIXSOCKET
SSL_PATH <path_str>
SSL_PWD <pwd_str>
PROXY_CLIENT <user_str>
有时候密码包含了 @ 等特殊字符导致 disql 无法直接连接和运行。需要通过转义符来处理。disql 转义符使用如下:
Linux 环境下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转义,具体例子如下:
./disql SYSDBA/'"abcd@efgh"'@localhost
windows 环境下,需要使用双引号将密码包含进来,同时对双引号使用\进行转义,具体例子如下:
disql SYSDBA/\"abcd@efgh\"@localhost
双引号将密码包起来即可
SQL> conn topicis/"Topnet@123"