ray*_*man 6 java database oracle dblink transactions
我使用的是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
Run Code Online (Sandbox Code Playgroud)
在我明白在使用XA时无法使用dblink之后,我找到了解决此错误的方法.所以我设法解决了通过更改dblink脚本来创建共享数据库链接,如下所示:
CREATE SHARED DATABASE LINK CONNECT TO IDENTIFIED BY AUTHENTICATED BY IDENTIFIED BY USING
Run Code Online (Sandbox Code Playgroud)
在这个测试环境中一切正常.
现在我已将我的应用程序移动到生产环境,其中源数据库是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
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助,
射线,
小智 4
ORA-01012: not logged on
Run Code Online (Sandbox Code Playgroud)
似乎表明您没有正确配置新链接,因为数据库现在是 11g,它可能具有区分大小写的密码,这将是首先要检查的事情。
如果远程模式具有区分大小写的密码,请在创建链接中的密码两边加上引号。因此
CREATE SHARED DATABASE LINK
CONNECT TO bob IDENTIFIED BY "MyNewPasswd1"
AUTHENTICATED BY jim IDENTIFIED BY "JimsPass23" USING 'DB01';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19918 次 |
| 最近记录: |