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. =(
