| 订阅 | 在线投稿
分享
 
 
 

使用简化连接时如何才能不显示输入密码

来源:互联网  宽屏版  评论
2008-06-01 02:12:11

从Oracle 10g开始,Oracle已经开始支持简化连接方式,这种方法简化了连接Oracle数据库的步骤,Oracle用户不再需要配置TNSNAMES.ORA就可以直接连接到远端的数据库。

以下是一个使用简化连接的例子:

SQL> conn system/test@172.25.13.227/ora11g_p.ytk-thinkpad已连接。

SQL>

大家可以发现在屏幕上直接显式输入密码是很难保障安全的,假如这里省略了密码:

SQL> conn system@172.25.13.227/ora11g_p.ytk-thinkpad

ERROR:

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

警告: 您不再连接到 ORACLE。

Oracle连接报错,尝试将整个连接字符串用引号包围,仍然出现错误:

SQL> conn "system@172.25.13.227/ora11g_p.ytk-thinkpad"输入口令:

ERROR:

ORA-01017: invalid username/password; logon denied

大家可以发现这里的错误是由于Oracle发现@后面还包含了/,因此没有将@后面的字符串作为连接符。

相对于后面的情况,Oracle把整个字符串作为用户名,因此才会报错。

正确的方式是将引号仅包含@后面的字符:

SQL> conn system@"172.25.13.227/ora11g_p.ytk-thinkpad"输入口令:已连接。

SQL>

以下是在SQLPLUS中使用CONNECT命令的情况,假如是在操作系统命令行下请使用SQLPLUS命令,方法和上面的类似,但要使用到转义符。

先看Windows环境下:

E:\>sqlplus system@172.25.13.227/ora11g_p.ytk-thinkpad

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 11 01:46:56 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

ERROR:

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

请输入用户名:

ERROR:

ORA-01017: 用户名/口令无效; 登录被拒绝

请输入用户名:

ERROR:

ORA-01017: 用户名/口令无效; 登录被拒绝

SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus

E:\>sqlplus system@"172.25.13.227/ora11g_p.ytk-thinkpad"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 11 01:47:08 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

ERROR:

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

请输入用户名:

ERROR:

ORA-01017: 用户名/口令无效; 登录被拒绝

请输入用户名:

ERROR:

ORA-01017: 用户名/口令无效; 登录被拒绝

E:\>sqlplus system@"""172.25.13.227/ora11g_p.ytk-thinkpad"""

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 11 01:47:23 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

输入口令:

连接到:

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

在Linux环境下只是转义符不同:

[oracle@yangtk ~]$ sqlplus system@\"172.25.13.227/ora11g_p.ytk-thinkpad\"

SQL*Plus: Release 11.1.0.6.0 - Production on Sun Jan 6 09:30:45 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter password:

Connected to:

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

从Oracle 10g开始,Oracle已经开始支持简化连接方式,这种方法简化了连接Oracle数据库的步骤,Oracle用户不再需要配置TNSNAMES.ORA就可以直接连接到远端的数据库。 以下是一个使用简化连接的例子: SQL> conn system/test@172.25.13.227/ora11g_p.ytk-thinkpad已连接。 SQL> 大家可以发现在屏幕上直接显式输入密码是很难保障安全的,假如这里省略了密码: SQL> conn system@172.25.13.227/ora11g_p.ytk-thinkpad ERROR: ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 警告: 您不再连接到 ORACLE。 Oracle连接报错,尝试将整个连接字符串用引号包围,仍然出现错误: SQL> conn "system@172.25.13.227/ora11g_p.ytk-thinkpad"输入口令: ERROR: ORA-01017: invalid username/password; logon denied 大家可以发现这里的错误是由于Oracle发现@后面还包含了/,因此没有将@后面的字符串作为连接符。 相对于后面的情况,Oracle把整个字符串作为用户名,因此才会报错。 正确的方式是将引号仅包含@后面的字符: SQL> conn system@"172.25.13.227/ora11g_p.ytk-thinkpad"输入口令:已连接。 SQL> 以下是在SQLPLUS中使用CONNECT命令的情况,假如是在操作系统命令行下请使用SQLPLUS命令,方法和上面的类似,但要使用到转义符。 先看Windows环境下: E:\>sqlplus system@172.25.13.227/ora11g_p.ytk-thinkpad SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 11 01:46:56 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. ERROR: ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 请输入用户名: ERROR: ORA-01017: 用户名/口令无效; 登录被拒绝 请输入用户名: ERROR: ORA-01017: 用户名/口令无效; 登录被拒绝 SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus E:\>sqlplus system@"172.25.13.227/ora11g_p.ytk-thinkpad" SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 11 01:47:08 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. ERROR: ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 请输入用户名: ERROR: ORA-01017: 用户名/口令无效; 登录被拒绝 请输入用户名: ERROR: ORA-01017: 用户名/口令无效; 登录被拒绝 E:\>sqlplus system@"""172.25.13.227/ora11g_p.ytk-thinkpad""" SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 2月 11 01:47:23 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. 输入口令: 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> 在Linux环境下只是转义符不同: [oracle@yangtk ~]$ sqlplus system@\"172.25.13.227/ora11g_p.ytk-thinkpad\" SQL*Plus: Release 11.1.0.6.0 - Production on Sun Jan 6 09:30:45 2008 Copyright (c) 1982, 2007, Oracle. All rights reserved. Enter password: Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有