一般我们要升级数据库,用plsqldev.exe升级脚本慢的很,也不知道为什么,一般都是自己在DOS提示符下登陆,然后执行,大家都习惯了。
结果碰到一个BT的用户,他的密码中含有@符号,
啊,在DOS下根本登陆不进去,提示服务名不正确。![]()
有一个解决办法可以登陆进去。就是先用一个用户登陆进去,
然后在 SQL> 提示符下把密码用"" 括起来登陆,
如 sqlplus user/"password"@servicename
1、建立测试用户abc 密码为a@b,授权登陆
SQL> create user abc identified by "a@b";
用户已创建
SQL> grant connect to abc;
授权成功。
2、登陆,提示无法处理服务名
C:\Documents and Settings\Administrator>sqlplus abc/"a@b"@orcl
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 11月 11 15:07:22 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
ERROR:
ORA-12154: TNS: 无法处理服务名
3、解决办法,先用一个已知的用户登陆
C:\Documents and Settings\Administrator>sqlplus scott/tiger@orcl
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 11月 11 15:09:04 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL>
4、连接密码用 "" 括起来 如下
SQL> conn abc/"a@b"@orcl
已连接。
问题解决。![]()
浙公网安备 33010602011771号