萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> Oracle創建dblink報錯:ORA-01017、ORA-02063解決

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

   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))';

copyright © 萬盛學電腦網 all rights reserved