程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle創建dblink報錯:ORA-01017、ORA-02063解決

Oracle創建dblink報錯:ORA-01017、ORA-02063解決

編輯:關於Oracle數據庫

       Oracle環境:oracle 10.2.0.1 創建的 public dblink 連接oracle 11.2.0.3

      ORA-01017: invalid username/password; logon denied ORA-02063: preceding line from

      一.創建dblink

      create public database link dmz63

      connect to xyy identified by xyy

      using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = 10.0.0.1)(HOST = 192.xxx.xxx.xxx)(PORT = 2261)))(CONNECT_DATA = (SERVICE_NAME = xyy)))';

      二.創建dblink 後使用時提示如下錯誤:

      select * from dual@dmz63

      報錯如下:

      ORA-01017: invalid username/password; logon denied

      ORA-02063: preceding line from

      三、問題分析:

      根據ORA-01017的提示是連接到另一方的用戶密碼錯誤,於是直接使用配置的用戶密碼(lsxy/lsxy)登錄數據庫發現正常登錄,進一步的查看建立好後的dblink 語句,其中用戶名都轉化為了大寫,由此猜測密碼是否也被轉化為了大寫從而導致密碼錯誤。

      根據猜測百度了下,確實有這種情況。當9i或10g的版本的Oracle數據庫連接11g的版本時,會自動將密碼轉化為大寫。

      四、解決辦法:

      我們將dblink 的創建語句稍微改寫即可,如下:

      將密碼用雙引號引起來

      create public database link dmz63

      connect to xyy identified by "xyy"

      using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 2261)))(CONNECT_DATA = (SERVICE_NAME = xyy))';

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved