簡體   English   中英

Oracle SQL Developer - JDBC 驅動程序問題

[英]Oracle SQL Developer - Issue with JDBC Driver

我有:

  • 視窗 7 x64
  • 我的 11G Oracle 客戶端如下 C:\\Oracle\\product\\11.2.0\\client_1
  • 我的 SQL Developer(下載了包含 JDK 8 的工具包,但為了以防萬一,單獨安裝了 JSK)目錄如下 C:\\sqldeveloper

當我嘗試使用 TNS 連接時,我有

java.library.path 中沒有 ocijdbc12

如果我轉到 Settings -> Database -> Advanced 並手動選擇我的 Oracle 目錄,我會得到:

測試位於 C:\\Oracle\\product\\11.2.0\\client_1 的 Oracle Home 測試客戶端目錄 ... OK 測試加載 Oracle JDBC 驅動程序 ... OK 測試檢查 Oracle JDBC 驅動程序版本 ...失敗:最低驅動程序版本 11.2。需要 0.3,指定驅動版本為 11.2.0.1.0

所以我考慮升級 JDBC 驅動程序,但我不能使用檢查更新功能,因為它似乎在我的虛擬機中被阻止。

我從SQL developer目錄中得到ojdbc7.jar,復制到C:\\Oracle\\product\\11.2.0\\client_1\\jdbc\\lib,現在出現如下錯誤:

測試位於 C:\\Oracle\\product\\11.2.0\\client_1 的 Oracle Home 測試客戶端目錄 ... OK 測試加載 Oracle JDBC 驅動程序 ... OK 測試檢查 Oracle JDBC 驅動程序版本 ... OK 驅動程序版本:12.1.0.2 .0 測試本機 OCI 庫負載...

失敗:加載本機 OCI 庫時出錯 無法加載本機 OCI 驅動程序。 系統屬性java.library.path 包含來自環境變量PATH 的條目。 檢查它以驗證
預期的本機庫目錄

C:\\Oracle\\product\\11.2.0\\client_1\\bin 存在並且在任何其他客戶端安裝之前。 java.library.path = C:\\sqldeveloper\\jdk\\jre\\bin;C:\\Windows\\Sun\\Java\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Oracle\\product\\10.2.0 \\client_1\\bin;C:\\Oracle\\product\\11.2.0\\client_1\\bin;C:\\Oracle\\product\\11.2.0\\client_2;C:\\Oracle\\product\\11.2.0\\client_2\\bin;C: \\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\ARQDISP\\;C:\\Program ;.

不知道此時我在做什么。 能否請你幫忙?

它缺少的驅動程序。 因此,就我而言,我從http://www.oracle.com/technetwork/topics/winx64soft-089540.html安裝了 Oracle 客戶端,並相應地設置了路徑變量。

這是一篇博客文章,展示了如何告訴 SQL Developer 在哪里以及使用哪個安裝的客戶端:

https://www.thatjeffsmith.com/archive/2014/01/oracle-sql-developer-4-and-the-oracle-client/

重新啟動您的 SQL Developer。

我有類似的問題。 從 sqldeveloper 4.0 移動到 4.1,導入了我的所有連接,但在 4.1 中,我會得到“java.library.path 中沒有 ocijdbc12”。 我打開了我當前的連接(右鍵單擊任何連接並選擇屬性),所有這些連接類型都是 TNS。
'Connect Identifier' 與在那里輸入的連接網絡別名進行了檢查。
我選中了“網絡別名”復選框並選擇了相同的名稱,然后連接正常工作。
我回到 4.0 以檢查我在那里的連接,似乎別名在選擇了“連接標識符”的情況下工作正常,但在 4.1 中卻沒有,我必須更新我所有的許多連接以使用“網絡別名”。

加載本機 OCI 庫時出錯無法加載本機 OCI 驅動程序,並且在嘗試連接到數據庫時,我在 java.library.path 中找不到 ocijdbc12

對我來說,在我創建了一個新變量 ORACLE_HOME 后,該錯誤得到了解決,其值為 ....(sql 開發人員安裝的文件夾的路徑) \\jdk\\jre 然后我添加了 Path 變量%ORACLE_HOME%\\bin的乞求。

起初,我創建了一個系統變量,該變量指向 dev express 的安裝文件夾,但它不起作用

對於數據庫,選擇連接屬性並將連接類型從 TNS 更改為 Basic 並提供連接的其他詳細信息(服務名稱/SID)為我解決了問題

也許它有助於查看我關於類似主題的帖子的答案:

如何讓Sqldeveloper 19.1 64位在沒有管理員權限的Windows企業PC上使用instantclient_12_2?

提到的 .bat 文件顯示了您需要的所有內容。 如果您具有更改任何環境變量的管理員權限或權限,那么不使用 .bat 文件可能是更好的方法。

當我嘗試使用 TNS 連接時,我有

java.library.path 中沒有 ocijdbc12

同時,我發現的東西是如此愚蠢和有趣。

我得到了同樣的錯誤,唯一的區別是什么時候可以,什么時候不是......

the TNS definition in tnsnames.ora

只需添加(如果它消失了,可能再添加一次)數據庫的 TNS 定義,例如:

XE.WORLD=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=localhost)
      (PORT=1521)
    )
    (CONNECT_DATA=
      (SERVICE_NAME=XE.WORLD)
      (SERVER = DEDICATED)
    )
  )

並重新啟動 SQL Developer。

連接配置將保留名稱 (XE.WORLD),即使它已經從 tnsnames.ora 中消失。 如果它不存在,則在連接嘗試時,它將返回該誤導性錯誤。

我的設置:SQL Developer 4.1.4.21,ojdbc8.jar,連接到 Oracle 19c。

暫無
暫無

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

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