Hi,

Yes it's still correct. But... In toplink this code works fine. I don't know
toplink internals, but I started to think there can be a solution for my
problem. It seems toplink use more smooth or more universal type detection
or has a solution for such kind of problem.

2007/9/13, Kevin Sutter <[EMAIL PROTECTED]>:
>
> Hi Sergey,
> I see that you have found the OpenJPA forum as well as the IBM Feature
> Pack
> forum...  :-)
>
>
> http://www-128.ibm.com/developerworks/forums/dw_thread.jsp?forum=1054&thread=175344&cat=9
>
> From the discussion on the IBM forum, it sounds like you have narrowed
> down
> this problem to the JDBC driver in use.  Is that still correct?  Or, have
> your symptoms changed and now you think there's a problem in OpenJPA?
>
> Thanks,
> Kevin
>
> On 9/13/07, Sergey Elin <[EMAIL PROTECTED]> wrote:
> >
> > Hi,
> >
> > then i try to call store procedure with null values via embedded
> websphere
> > jdbc driver on SQLServer I get an exception.
> >
> > [IBM][SQLServer JDBC Driver]Unable to determine the type of the
> specified
> > object.
> >
> > Here is the code:
> >
> > Query q=JpaManager.getEntityManager().createNativeQuery(
> > "Execute spTree_getSpecs_v2 @p_PARTY_ID=?1," +
> > " @p_GRANT=?2, @p_GROUP_ID=?3, @p_BRAND_ID=?4, @p_VENDOR_ID=?5, " +
> > "@p_ORDER=?6, @p_BEGIN=?7, @p_END=?8", "ItemPaging");
> >
> > q.setParameter(1, party_id);
> > q.setParameter(2, permission);
> > q.setParameter(3, group_id);
> > q.setParameter(4, brand_id);
> > q.setParameter(5, vendor_id);
> > q.setParameter(6, order);
> > q.setParameter(7, begin);
> > q.setParameter(8, end);
> > q.getResultList();
> >
> > stack trace:
> >
> > Caused by: <0.0.0 nonfatal general error>
> > org.apache.openjpa.persistence.PersistenceException: [IBM][SQLServer
> JDBC
> > Driver]Unable to determine the type of the specified object.
> > at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(
> > DBDictionary.java:3786)
> > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java
> > :97)
> > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java
> > :83)
> > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java
> > :59)
> > at org.apache.openjpa.jdbc.kernel.SQLStoreQuery$SQLExecutor.executeQuery
> (
> > SQLStoreQuery.java:301)
> > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:985)
> > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:796)
> > at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:766)
> > at org.apache.openjpa.kernel.DelegatingQuery.execute(
> DelegatingQuery.java
> > :533)
> > at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:227)
> > at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java
> > :269)
> > at ru.topsbi.teko.beans.ui.news.NewsDetailsItemsBean.fetchNews(
> > NewsDetailsItemsBean.java:134)
> > at ru.topsbi.teko.beans.ui.news.NewsDetailsItemsBean.getNews(
> > NewsDetailsItemsBean.java:212)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java
> > :64)
> > at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:615)
> > at com.sun.faces.el.PropertyResolverImpl.getValue(
> > PropertyResolverImpl.java
> > :79)
> > ... 55 more
> >
> > The problem is then I call stored procedure with null, then null's type
> > treated as javax.sql.Types.OTHER. Then it passes to websphere's embedded
> > driver and it throws an exception because it doesn't know what to do
> with
> > it. If I change value's type to java.sql.Types.NUMERIC in runtime (in
> > debug
> > mode) then everything works.
> >
> > I don't actually know is this a bug or a feature and don't know where to
> > report it. =(
> >
>

Reply via email to