[英]Error on Oracle while using DBLINK
我使用的是jboss5.1.x,EJB3.0,JPA3。
我試圖從視圖中“選擇”查詢,該視圖通過dblink連接到另一個數據庫。
源數據庫是Oracle 9 ,目標dabatase是Oracle 8 。
我收到此錯誤:
15:27:06,625 WARN [JDBCExceptionReporter] SQL Error: 24777, SQLState: 99999
15:27:06,625 ERROR [JDBCExceptionReporter] ORA-24777: use of non-migratable database link not allowed
在我明白在使用XA時無法使用dblink之后,我找到了解決此錯誤的方法。 所以我設法解決了通過更改dblink腳本來創建共享數據庫鏈接 ,如下所示:
CREATE SHARED DATABASE LINK CONNECT TO IDENTIFIED BY AUTHENTICATED BY IDENTIFIED BY USING
在這個測試環境中一切正常。
現在我已將我的應用程序移動到生產環境,其中源數據庫是Oracle 11,而目標仍然是Oracle 8 。
我這次使用的技巧沒有工作,我找不到解決方案。 這是我得到的新例外:
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
at ....Caused by: java.sql.SQLException: ORA-01012: not logged on
ORA-02063: preceding line from TO_VANTIVE
謝謝你的幫助,
射線,
ORA-01012: not logged on
似乎建議您沒有正確配置新鏈接,因為數據庫現在是11g,可能有區分大小寫的密碼,這是首先要檢查的。
如果遠程模式具有區分大小寫的密碼,請在CREATE LINK中輸入密碼。 從而
CREATE SHARED DATABASE LINK
CONNECT TO bob IDENTIFIED BY "MyNewPasswd1"
AUTHENTICATED BY jim IDENTIFIED BY "JimsPass23" USING 'DB01';
我們在Weblogic上遇到了同樣的問題,解決方案是使用非XA oracle JDBC驅動程序。
請確保您使用的數據庫鏈接是公共和共享,如果數據庫鏈接不是公共和共享,它將拋出異常ORA-24777:不允許使用不可遷移的數據庫鏈接。 但是,如果您嘗試直接在DB上運行相同的查詢而不使用任何Java或XA事務,它將正常工作。
我在使用Oracle 11g(ORA-24777)遇到了同樣的問題。 我在單個表(在我的模式中)和一個視圖(由數據庫鏈接創建)之間執行了連接。 我已經在XA模式下執行了整個JBoss數據源。
為了使它運行良好,我不得不改變我的dblink視圖的模式 。 在這種情況下,擁有一個精確的AUTHENTICATED BY
子句以避免得到“ORA-01012:not logged”是非常重要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.