簡體   English   中英

ORA-12154 Oracle DB Windows 無法連接 SQLPlus

[英]ORA-12154 Oracle DB Windows Can't Connect SQLPlus

我已經檢查了 stackoverflow 中的其他答案,但沒有任何工作。 我檢查了 tnsnames.ora 沒有發現錯誤。 這是我的 tnsnames.ora 文件的代碼。

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-69D6TBS)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

LISTENER_XE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-69D6TBS)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

這是我的 sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

服務也在運行

在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

正如經常出現的這個問題一樣,您沒有顯示用於啟動 sqlplus 的初始命令。 您應該像這樣啟動它,在您的用戶名后跟一個“@”符號,然后是網絡服務名稱,也就是 tnsnames 條目。

c:\sqlplus myuser@XE

但缺少這一點,一旦它開始提示您輸入用戶名和密碼,您需要按照提示的用戶名和網絡服務名稱的規范進行操作:

Enter user-name:  username@XE

但是您遇到該特定錯誤的事實有點令人費解。 在沒有指定網絡服務名稱的情況下,它應該嘗試 BEQ 連接(根本不使用 tns)連接到由 %ORACLE_SID% 的值標識的本地數據庫。 在這種情況下,它應該連接或給出“協議適配器錯誤”。它在此特定用法中遇到此特定錯誤的事實將向我表明您已設置 %TWO_TASK%。 這將覆蓋 ORACLE_SID 並告訴 sqlplus 嘗試為 %TWO_TASK% 的值建立 tns 連接。

作為旁注,報告錯誤的性質意味着請求從未接近偵聽器,因此此時偵聽器配置無關緊要。 ORA-12154 相當於無法在電話簿中找到某人的姓名。 如果您找不到它(它未列出或您使用了錯誤的電話簿),那么您甚至無法撥打電話(將請求發送給聽眾)。

為了將來參考,命令窗口的屏幕截圖不如從窗口復制和粘貼文本,然后將粘貼的文本格式化為“代碼”有用。 如果您在此處完成了此操作,則可以向上滾動窗口以復制/包含您使用的 sqlplus 命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM