[prev in list] [next in list] [prev in thread] [next in thread]
List: ojb-user
Subject: ReportQuery and NVARCHAR/NTEXT?
From: "Ryan Vanderwerf" <rvanderwerf () metrowerks ! com>
Date: 2004-10-28 17:03:57
Message-ID: 20041028170402.96EFB33816F () mail ! mdp ! metrowerks ! com
[Download RAW message or body]
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic