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

Richard Marriott (JIRA) noreply at atlassian.com
Wed Mar 17 13:49:31 EDT 2010


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

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

As far as I can tell this is still a problem. I am using Hibernate 3.3.2.GA with WebLogicServer 10.3 - this is an upgrade from a working Hibernate environment in WLS 8.1

The SQL and HQL procedures still work, but trying to call an Oracle stored procedure or function which returns a sys_refcursor fails, whatever the Dialect setting in the hibernate cfg file:

This is causing real grief - is there a fix?

7672 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG jdbc.AbstractBatcher  - 2010-03-15 21:18:08,192 about to o
pen PreparedStatement (open PreparedStatements: 0, globally: 0)
7694 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG hibernate.SQL  - 2010-03-15 21:18:08,214 { ? = call ninjad
evmain.reference_tables.get_error_codes() }
7995 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG jdbc.AbstractBatcher  - 2010-03-15 21:18:08,515 about to c
lose PreparedStatement (open PreparedStatements: 1, globally: 1)
8011 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG util.JDBCExceptionReporter  - 2010-03-15 21:18:08,531 coul
d not execute query [{ ? = call ninjadevmain.reference_tables.get_error_codes() }]
java.sql.SQLException: [BEA][Oracle JDBC Driver][Oracle]ORA-06550: line 1, column 18:
PLS-00382: expression is of wrong type
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

        at weblogic.jdbc.base.BaseExceptions.createException(Unknown Source)
        at weblogic.jdbc.base.BaseExceptions.getException(Unknown Source)
        at weblogic.jdbc.oracle.OracleImplStatement.execute(Unknown Source)
        at weblogic.jdbc.base.BaseStatement.commonExecute(Unknown Source)
        at weblogic.jdbc.base.BaseStatement.executeInternal(Unknown Source)
        at weblogic.jdbc.base.BasePreparedStatement.execute(Unknown Source)
        at weblogic.jdbcx.base.BasePreparedStatementWrapper.execute(Unknown Source)
        at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:98)
        at org.hibernate.dialect.Oracle8iDialect.getResultSet(Oracle8iDialect.java:437)
        at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:215)
        at org.hibernate.loader.Loader.getResultSet(Loader.java:1809)
        at org.hibernate.loader.Loader.doQuery(Loader.java:697)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
        at org.hibernate.loader.Loader.doList(Loader.java:2232)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
        at org.hibernate.loader.Loader.list(Loader.java:2124)
        at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:312)
        at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1723)
        at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
        at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:175)
        at no.netcom.ninja.core.system.persistence.QueryNinja.fullQuery(QueryNinja.java:1504)


> 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