簡體   English   中英

為什么將 Oracle DB 從 11g 升級到 19c 后 OracleConnection.Open() 的實例會拋出錯誤?

[英]Why the Instance of OracleConnection.Open() throws an error after upgrading the Oracle DB from 11g to 19c?

連接字符串:USER ID=dt;DATA SOURCE=ABCTOOLQ;STATEMENT CACHE SIZE=10;PASSWORD=***;VALIDATE CONNECTION=True;DECR POOL SIZE=1;MIN POOL SIZE=1;INCR POOL SIZE=1

我在項目參考中使用來自NugetSystem.Data.OracleClient的 Oracle.ManagedDataAccess 。


m-connection.open() - 拋出異常

exception: {"ORA-01034: ORACLE not available\nORA-27101: shared memory realm does not exist\nLinux-x86_64 Error: 2: No such file or directory\nAdditional information: 3701\nAdditional information: -749403217"}

m_connection 的屬性:

The.ServerVersion 創建以下異常:

在此處輸入圖像描述

很可能是 Oracle Home 問題。 DATASOURCE=ABCTOOLQ 將 go 在 tnsnames.ora 中查找參考,例如

ABCTOOLQ=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yourhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = yourservice)
    )
  )

如果找不到 tnsnames.ora,因為

  • 它沒有被復制到新的客戶端位置(如果您也升級了客戶端),或者
  • TNS_ADMIN 環境或注冊表設置已更改,或
  • 服務名稱在升級過程中被更改

然后您最終嘗試連接到名為“ABCTOOLQ”的本地(且不存在的)數據庫,因此出現“嘿,該數據庫不存在”錯誤。

暫無
暫無

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

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