MySQL Longtext datatype [message #368256] |
Thu, 14 May 2009 12:26  |
Eclipse User |
|
|
|
I have added a longtext field to my MySQL database and I am trying to
use this field in two reports. First I have added this field to the view
I use.
In the first report (showing all the rows in the database), the field is
displayed normal.
The second report should display only single rows from the database
(filtered with a report paramater).
The simple action of adding the longtext-field to the query in the
dataset, results in the following message:
org.eclipse.birt.report.exception.ViewerValidationException: The
parameter "RP_Applicatie" cannot be blank.
The stacktrace is:
org.eclipse.birt.report.exception.ViewerValidationException: The
parameter "RP_Applicatie" cannot be blank.
at org.eclipse.birt.report.utility.DataUtil.validate(DataUtil.j ava:175)
at
org.eclipse.birt.report.utility.BirtUtility.handleOperation( BirtUtility.java:560)
at
org.eclipse.birt.report.service.actionhandler.BirtRunReportA ctionHandler.__execute(BirtRunReportActionHandler.java:77)
at
org.eclipse.birt.report.service.actionhandler.BirtGetPageAct ionHandler.__checkDocumentExists(BirtGetPageActionHandler.ja va:58)
at
org.eclipse.birt.report.service.actionhandler.AbstractGetPag eActionHandler.prepareParameters(AbstractGetPageActionHandle r.java:119)
at
org.eclipse.birt.report.service.actionhandler.AbstractGetPag eActionHandler.__execute(AbstractGetPageActionHandler.java:1 04)
at
org.eclipse.birt.report.service.actionhandler.AbstractBaseAc tionHandler.execute(AbstractBaseActionHandler.java:90)
at
org.eclipse.birt.report.soapengine.processor.AbstractBaseDoc umentProcessor.__executeAction(AbstractBaseDocumentProcessor .java:47)
at
org.eclipse.birt.report.soapengine.processor.AbstractBaseCom ponentProcessor.executeAction(AbstractBaseComponentProcessor .java:143)
at
org.eclipse.birt.report.soapengine.processor.BirtDocumentPro cessor.handleGetPage(BirtDocumentProcessor.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.eclipse.birt.report.soapengine.processor.AbstractBaseCom ponentProcessor.process(AbstractBaseComponentProcessor.java: 112)
at
org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingI mpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCP rovider.java:397)
at
org.apache.axis.providers.java.RPCProvider.processMessage(RP CProvider.java:186)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvi der.java:323)
at
org.apache.axis.strategies.InvocationStrategy.visit(Invocati onStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService .java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281 )
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServle t.java:699)
at
org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherSer vlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:616)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisS ervletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at
org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherSer vlet.service(BirtSoapMessageDispatcherServlet.java:122)
at
org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:180)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:111)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at
org.eclipse.equinox.http.jetty.internal.HttpServerManager$In ternalHttpServiceServlet.service(HttpServerManager.java:269)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder .java:428)
at
org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHan dler.java:677)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandl er.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java: 820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.ja va:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:8 37)
at
org.mortbay.http.SocketListener.handleConnection(SocketListe ner.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:3 57)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:5 34)
The parameter-section in the XML-file is as follows:
<scalar-parameter name="RP_Applicatie" id="959">
<property name="valueType">dynamic</property>
<property name="dataType">decimal</property>
<property name="paramType">simple</property>
<property name="concealValue">false</property>
<property name="isRequired">false</property>
<property name="controlType">list-box</property>
<property name="dataSetName">UR applicaties</property>
<expression name="valueExpr">dataSetRow["apl_id"]</expression>
<expression
name="labelExpr">dataSetRow["applicatie"]</expression>
<property name="mustMatch">true</property>
<property name="fixedOrder">true</property>
<property name="distinct">true</property>
<structure name="format">
<property name="category">Unformatted</property>
</structure>
</scalar-parameter>
Removing the just added field from the query makes no difference
How can I use a longtext field in a report that is filtered with a
report parameter?
Ben
|
|
|
|
|
|
|
|
|
|
Re: MySQL Longtext datatype [message #368379 is a reply to message #368311] |
Tue, 26 May 2009 17:50  |
Eclipse User |
|
|
|
Hi,
With Deltawalker I have compared a working version to a malfunctioning
version of the rptdesign.
What I did was:
first I made a working report that showed all the records.
Then I added a parametersection to this rptdesicgn that should select
just one record. No other changes were introduced.
Amongst many other changes in the rptdesign, I found the following
section which had been introduced:
<parameters>
<scalar-parameter name="RP_Applicatie" id="959">
<property name="valueType">dynamic</property>
<property name="dataType">decimal</property>
<property name="paramType">simple</property>
<property name="isRequired">true</property>
<property name="controlType">list-box</property>
<property name="dataSetName">UR applicaties</property>
<expression name="valueExpr">dataSetRow["apl_id"]</expression>
<expression
name="labelExpr">dataSetRow["applicatie"]</expression>
<property name="mustMatch">true</property>
<property name="fixedOrder">true</property>
<property name="distinct">true</property>
<structure name="format">
<property name="category">Unformatted</property>
</structure>
</scalar-parameter>
</parameters>
This report functioned fine.
After adding another field to the query I used, suddenly Birt showed the
following message:
org.eclipse.birt.report.exception.ViewerValidationException: The
parameter "RP_Applicatie" cannot be blank.
Even after restoring the report to its original content, the error remained.
With deltawalker, I noticed that after removing the changes to the
query, the only difference between the 'good' and the 'bad' rptdesign
was that in the parameters-section the line <property
name="isRequired">true</property> had changed to <property
name="isRequired">false</property>.
After changing true to false, the report functioned again and I was even
able to insert the new fields from the query in the report.
I have tried now several times but it's just enough to change the
'isRequired' setting from false to true to recover from the error.
Ben
Jason Weathersby schreef:
> Ben,
>
> Sorry about that :>.
>
> On the detail report (second one) just setup a string parameter and link
> that to a dataset parameter to modify the query. Or use the beforeOpen
> script of the dataset to modify the query.
>
> Take a look at this:
> http://www.eclipse.org/birt/phoenix/examples/reports/birt2.1 /drill/index.php
>
> and
> http://www.eclipse.org/birt/phoenix/examples/reports/birt2.1 /querymod/index.php
>
>
> Jason
>
>
> Ben Engbers wrote:
>> Jason,
>>
>> I have used bugzilla before but what I meant was how to take the
>> string parameter instead of using dynamic :-)
>>
>> Ben
>> Jason Weathersby schreef:
>>> Ben,
>>>
>>> Thanks a lot. Take a look at the bugzilla entry under:
>>> http://www.eclipse.org/birt/phoenix/community.php
>>>
>>> Jason
>>>
>>> Ben Engbers wrote:
>>>> I am quite willing to help you but any help about how to do that
>>>> would be kindly appreciated :-)
>>>>
>>>> Ben
>>>> (I have no further knowledge of BIRT then the tutorial - but I am
>>>> thinking of buying the book :-)
>>>>
>>>> Jason Weathersby schreef:
>>>>>
|
|
|
Powered by
FUDForum. Page generated in 0.40772 seconds