| 導購 | 订阅 | 在线投稿
分享
 
 
 

使用簡化連接時如何才能不顯示輸入密碼

來源:互聯網  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>
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有