[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3449) Unable to use Oracle stored procedure in a <sql-query>

Richard Marriott (JIRA) noreply at atlassian.com
Tue Apr 6 08:42:03 EDT 2010


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=36169#action_36169 ] 

Richard Marriott commented on HHH-3449:
---------------------------------------

Finally managed to crack the problem - it was configuration in WebLogicServer's connection pool. I was using the BEA Oracle Driver - worked fine for Hibernate SQL, but failed with stored procedures returning a sys_refcursor. By switching to the thin Oracle client, I was able to fix the problem.

For anyone else who has this problem, configure as follows:

URL: jdbc:oracle:thin:@HOST:PORT:SID
Driver Class Name: oracle.jdbc.xa.client.OracleXADataSource

Using the following cannot be made to work for some reason:

URL: jdbc:bea:oracle://[x.x.x.x]:1521
Driver Class Name: weblogic.jdbcx.oracle.OracleDataSource

The issue is described here:

http://objectmix.com/weblogic/535161-error-when-changing-oracle-thin-driver-beas-oracle-driver.html



> Unable to use Oracle stored procedure in a <sql-query>
> ------------------------------------------------------
>
>                 Key: HHH-3449
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3449
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: query-sql
>    Affects Versions: 3.2.6
>         Environment: Hibernate 3.2.6GA
> Oracle 10.2.0.4 (& Oracle JDBC Driver version - 11.1.0.6.0)
> Java 1.6.0_06
>            Reporter: RC
>            Assignee: Gail Badner
>
> Using a stored procedure to fetch result set.
> However, an IllegalAccessException is thrown:
> Caused by: org.hibernate.HibernateException: Problem while trying to load or access OracleTypes.CURSOR value
> 	at org.hibernate.dialect.Oracle8iDialect.registerResultSetOutParameter(Oracle8iDialect.java:371)
> 	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1560)
> 	at org.hibernate.loader.Loader.doQuery(Loader.java:673)
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
> 	at org.hibernate.loader.Loader.doList(Loader.java:2213)
> 	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
> 	at org.hibernate.loader.Loader.list(Loader.java:2099)
> 	at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
> 	at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
> 	at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
> 	at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
> 	at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
> ....
> Caused by: java.lang.IllegalAccessException: Class org.hibernate.dialect.Oracle8iDialect can not access a member of class oracle.jdbc.driver.OracleTypes with modifiers ""
> 	at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
> 	at java.lang.Class.newInstance0(Class.java:349)
> 	at java.lang.Class.newInstance(Class.java:308)
> 	at org.hibernate.dialect.Oracle8iDialect.registerResultSetOutParameter(Oracle8iDialect.java:369)
> 	... 35 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list