Hi, I'm trying to use a report query on tables with NTEXT and NVARCHAR (MSSQL Server 2k), and I get a NullPointerException (I've verified the db-value I am selecting wasn't null):
java.lang.NullPointerException at org.apache.ojb.broker.util.JdbcTypesHelper.getObjectFromColumn(Unknown Source) at org.apache.ojb.broker.util.JdbcTypesHelper.getObjectFromColumn(Unknown Source) at org.apache.ojb.broker.accesslayer.SqlBasedReportQueryRsIterator.getObjectFro mResultSet(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at _test__jsp._jspService(/test.jsp:30) at com.caucho.jsp.JavaPage.service(JavaPage.java:75) at com.caucho.jsp.Page.subservice(Page.java:506) at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182) at com.metrowerks.mdp2.logging.PageViewFilter.doFilter(PageViewFilter.java:129) at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88) at com.caucho.server.http.Invocation.service(Invocation.java:315) at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246) at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163) at com.caucho.server.TcpConnection.run(TcpConnection.java:139) at java.lang.Thread.run(Thread.java:534) If I tried to uncomment the line 'QueryFactory.newReportQuery instead of the new QueryBySQL I get the following error: java.lang.NullPointerException at org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.<init>(Unknown Source) at org.apache.ojb.broker.core.ReportRsIteratorFactoryImpl.createRsIterator(Unkn own Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unkn own Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getReportQueryIteratorFromQ uery(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getReportQueryIteratorByQue ry(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getReportQueryIterato rByQuery(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getReportQueryIterato rByQuery(Unknown Source) at _test__jsp._jspService(/test.jsp:27) at com.caucho.jsp.JavaPage.service(JavaPage.java:75) at com.caucho.jsp.Page.subservice(Page.java:506) at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182) at com.metrowerks.mdp2.logging.PageViewFilter.doFilter(PageViewFilter.java:129) at com.caucho.server.http.FilterChainFilter.doFilter(FilterChainFilter.java:88) at com.caucho.server.http.Invocation.service(Invocation.java:315) at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246) at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163) at com.caucho.server.TcpConnection.run(TcpConnection.java:139) at java.lang.Thread.run(Thread.java:534) I'm using the following code: System.out.println("\n\n\n\n\n\n"); PersistenceBroker br = BaseManager.getBroker(); //Works because of data type 'varchar' //String stSql = "SELECT property FROM dtproperties"; //Doesn't works because of data type 'nvarchar' String stSql = "SELECT uvalue FROM dtproperties where id=3"; //Query query = QueryFactory.newReportQuery(Companies.class, new Criteria()); Query query = new QueryBySQL(Companies.class, stSql); Iterator resultIter = br.getReportQueryIteratorByQuery(query); System.out.println("has next :"+resultIter.hasNext()); Object o = resultIter.next(); System.out.println("next :"+((Object[])o)[0]); ArrayList items = new ArrayList(); if (br != null) { BaseManager.closeBroker(br); } System.out.println("\n\n\n\n\n\n"); I noticed in the JdbcTypesHelper it doesn't have entries for these types. Is there a way I can add them? Or maybe a reason why they aren't there? I am running MSSQL Server. It would appear I could just add another inner class for that database that extends the BaseType class - but shouldn't there be more of a plug-in for this instead of changing OJB itself. Maybe I'm just way off here? Ryan