Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » BIRT » Report problem with SqlServer 2008, BIRT 2.5.1(Runs ok in designer, fails in tomcat)
Report problem with SqlServer 2008, BIRT 2.5.1 [message #508539] Tue, 19 January 2010 11:35 Go to next message
Missing name Missing name is currently offline Missing name Missing nameFriend
Messages: 94
Registered: November 2009
Member
Hi,
I have a report that works with MS SQL 2008 in RCP designer but fails when deployed to tomcat. I receive the following error:

19-Jan-2010 11:19:33 org.eclipse.birt.report.engine.api.impl.RunTask doRun
SEVERE: Error happened while running the report.
java.lang.IllegalAccessError: tried to access method com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.<init>(Lcom/microsoft/sqlserver/jdbc/SQLS
erverConnection;Ljava/lang/String;II)V from class com.microsoft.sqlserver.jdbc.SQLServerConnection
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement(SQLServerConnection.java:1864)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement(SQLServerConnection.java:1566)
        at org.eclipse.birt.report.data.oda.jdbc.Statement.prepare(Statement.java:142)
        at org.eclipse.birt.report.data.oda.jdbc.bidi.BidiStatement.prepare(BidiStatement.java:52)
        at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.doPrepare(OdaQuery.java:229)
        at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.prepare(OdaQuery.java:186)
        at org.eclipse.birt.data.engine.odaconsumer.Connection.prepareOdaQuery(Connection.java:281)
        at org.eclipse.birt.data.engine.odaconsumer.Connection.prepareStatement(Connection.java:181)
        at org.eclipse.birt.data.engine.executor.DataSource.prepareStatement(DataSource.java:269)
        at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepare(DataSourceQuery.java:270)
        at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.prepareOdiQuery(PreparedOdaDSQuery.java:350)
        at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:337)
        at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:448)
        at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:190)
        at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:178)
        at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:144)
        at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:511)
        at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:139)
        at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:71)
        at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:254)
        at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1818)
        at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
        at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
        at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
        at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
        at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
        at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
        at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
        at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)
        at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:258)
        at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:243)
        at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:82)


It seems to be some conflict of JARs or versions would be my thoughts but i'm not sure of where the conflict could arise.

There is a similar issue running on Oracle, but DB2 works fine.

Has anyone any ideas?

thanks

[Updated on: Tue, 19 January 2010 11:36]

Report message to a moderator

Re: BIRT report with SqlServer 2008 [message #508627 is a reply to message #508539] Tue, 19 January 2010 16:23 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Trevor,

Where do you have the ms sql jar located? Do you have it in more than
one place in your deployed environment?

Jason

TREVOR.HIGGINS@FINEOS.COM wrote:
> Hi,
> I have a report that works with MS SQL 2008 in RCP designer but fails
> when deployed to tomcat. I receive the following error:
>
>
> 19-Jan-2010 11:19:33 org.eclipse.birt.report.engine.api.impl.RunTask doRun
> SEVERE: Error happened while running the report.
> java.lang.IllegalAccessError: tried to access method
> com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.<init >(Lcom/microsoft/sqlserver/jdbc/SQLS
>
> erverConnection;Ljava/lang/String;II)V from class
> com.microsoft.sqlserver.jdbc.SQLServerConnection
> at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStat ement(SQLServerConnection.java:1864)
>
> at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStat ement(SQLServerConnection.java:1566)
>
> at
> org.eclipse.birt.report.data.oda.jdbc.Statement.prepare(Stat ement.java:142)
> at
> org.eclipse.birt.report.data.oda.jdbc.bidi.BidiStatement.pre pare(BidiStatement.java:52)
>
> at
> org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQu ery.doPrepare(OdaQuery.java:229)
>
> at
> org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQu ery.prepare(OdaQuery.java:186)
>
> at
> org.eclipse.birt.data.engine.odaconsumer.Connection.prepareO daQuery(Connection.java:281)
>
> at
> org.eclipse.birt.data.engine.odaconsumer.Connection.prepareS tatement(Connection.java:181)
>
> at
> org.eclipse.birt.data.engine.executor.DataSource.prepareStat ement(DataSource.java:269)
>
> at
> org.eclipse.birt.data.engine.executor.DataSourceQuery.prepar e(DataSourceQuery.java:270)
>
> at
> org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQu eryExecutor.prepareOdiQuery(PreparedOdaDSQuery.java:350)
>
> at
> org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecu tion(QueryExecutor.java:337)
>
> at
> org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(Pr eparedQuery.java:448)
>
> at
> org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.pr oduceQueryResults(PreparedDataSourceQuery.java:190)
>
> at
> org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.ex ecute(PreparedDataSourceQuery.java:178)
>
> at
> org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute (PreparedOdaDSQuery.java:144)
>
> at
> org.eclipse.birt.report.data.adapter.impl.DataRequestSession Impl.execute(DataRequestSessionImpl.java:511)
>
> at
> org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExec uteQuery(DteDataEngine.java:139)
>
> at
> org.eclipse.birt.report.engine.data.dte.DataGenerationEngine .doExecuteQuery(DataGenerationEngine.java:71)
>
> at
> org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.e xecute(AbstractDataEngine.java:254)
>
> at
> org.eclipse.birt.report.engine.executor.ExecutionContext.exe cuteQuery(ExecutionContext.java:1818)
>
> at
> org.eclipse.birt.report.engine.executor.QueryItemExecutor.ex ecuteQuery(QueryItemExecutor.java:80)
>
> at
> org.eclipse.birt.report.engine.executor.TableItemExecutor.ex ecute(TableItemExecutor.java:62)
>
> at
> org.eclipse.birt.report.engine.internal.executor.wrap.Wrappe dReportItemExecutor.execute(WrappedReportItemExecutor.java:4 6)
>
> at
> org.eclipse.birt.report.engine.internal.executor.emitter.Rep ortItemEmitterExecutor.execute(ReportItemEmitterExecutor.jav a:46)
>
> at
> org.eclipse.birt.report.engine.internal.executor.dup.Suppres sDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor .java:43)
>
> at
> org.eclipse.birt.report.engine.layout.html.HTMLBlockStacking LM.layoutNodes(HTMLBlockStackingLM.java:65)
>
> at
> org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout (HTMLPageLM.java:90)
>
> at
> org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutE ngine.layout(HTMLReportLayoutEngine.java:99)
>
> at
> org.eclipse.birt.report.engine.presentation.ReportDocumentBu ilder.build(ReportDocumentBuilder.java:258)
>
> at
> org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTas k.java:243)
> at
> org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask. java:82)
>
>
> It seems to be some conflict of JARs or versions would be my thoughts
> but i'm not sure of where the conflict could arise.
>
> There is a similar issue running on Oracle, but DB2 works fine.
> Has anyone any ideas?
>
> thanks
>
>
Re: Report problem with SqlServer 2008, BIRT 2.5.1 [message #508655 is a reply to message #508539] Tue, 19 January 2010 18:07 Go to previous messageGo to next message
Missing name Missing name is currently offline Missing name Missing nameFriend
Messages: 94
Registered: November 2009
Member
Its in the drivers directory under the jdbc plugin. It seems to be related to the doing of a query as follows:

PreparedStatement domainStmt = dbConnection.prepareStatement(
"select id from table where NAME LIKE ?");


This query is done in our report manager java class before it pre-loads reports, if there is a particular type of report parameter where we need to retrieve its id from its name.
However, I think any database interaction during startup will cause it, as it happens trying to prepare a SQL statement. This was previously working on Websphere with BIRT 2.3.1 runtime.
Re: Report problem with SqlServer 2008, BIRT 2.5.1 [message #508710 is a reply to message #508655] Tue, 19 January 2010 22:58 Go to previous messageGo to next message
Jason Weathersby is currently offline Jason WeathersbyFriend
Messages: 9167
Registered: July 2009
Senior Member

Trevor,

Does it make a difference if you move the driver to the web-inf/lib
directory?

Jason

TREVOR.HIGGINS@FINEOS.COM wrote:
> Its in the drivers directory under the jdbc plugin. It seems to be
> related to the doing of a query as follows:
>
>
> PreparedStatement domainStmt = dbConnection.prepareStatement(
> "select id from table where NAME LIKE ?");
>
>
> This query is done in our report manager java class before it pre-loads
> reports, if there is a particular type of report parameter where we need
> to retrieve its id from its name. However, I think any database
> interaction during startup will cause it, as it happens trying to
> prepare a SQL statement. This was previously working on Websphere with
> BIRT 2.3.1 runtime.
Re: Report problem with SqlServer 2008, BIRT 2.5.1 [message #508882 is a reply to message #508539] Wed, 20 January 2010 16:02 Go to previous message
Missing name Missing name is currently offline Missing name Missing nameFriend
Messages: 94
Registered: November 2009
Member
No I just got a different error. I tried it in Tomat 5.5.25 (I was previously using TC 6.0.18) and it works fine, so it seems to be tomcat related. TBH tomcat working is only for testing, it will be ran in WS in production so thats my main concern at the moment.

thanks for the input
Previous Topic:Round rectangle
Next Topic:table row highlight
Goto Forum:
  


Current Time: Wed Apr 24 21:38:43 GMT 2024

Powered by FUDForum. Page generated in 0.04624 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top