# Ignition Reporting Giving Errors After Upgrade

**URL:** <https://forum.inductiveautomation.com/t/ignition-reporting-giving-errors-after-upgrade/96018>\
**Category:** Ignition\
**Tags:** ignition81, reporting\
**Created:** [September 16, 2024, 2:15pm UTC](https://forum.inductiveautomation.com/t/ignition-reporting-giving-errors-after-upgrade/96018 "2024-09-16T14:15:18Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![koenigs.alex](https://avatars.discourse-cdn.com/v4/letter/k/919ad9/32.png) [@koenigs.alex](https://forum.inductiveautomation.com/u/koenigs.alex)\
**Post date:** [September 16, 2024, 2:15pm UTC](https://forum.inductiveautomation.com/t/ignition-reporting-giving-errors-after-upgrade/96018/1 "2024-09-16T14:15:18Z")

</div>

I am pulling data from an OSI PI database to show in a report. Everything was working fine in Ignition 7.9. We upgraded to 8.1 and now when the reporting queries data in the designer I get errors and the report sends with no data.

> **Error From Report Designer**
>
> java.util.concurrent.ExecutionException: com.inductiveautomation.ignition.client.gateway\_interface.GatewayException: class com.osisoft.rdsa.DataReader (in unnamed module @0x7871eab) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x7871eab  
> at java.base/java.util.concurrent.FutureTask.report(Unknown Source)  
> at java.base/java.util.concurrent.FutureTask.get(Unknown Source)  
> at java.desktop/javax.swing.SwingWorker.get(Unknown Source)  
> at com.inductiveautomation.reporting.designer.workspace.design.SampleData$SampleDataLoader.done(SampleData.java:145)  
> at java.desktop/javax.swing.SwingWorker$5.run(Unknown Source)  
> at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)  
> at java.desktop/sun.swing.AccumulativeRunnable.run(Unknown Source)  
> at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)  
> at java.desktop/javax.swing.Timer.fireActionPerformed(Unknown Source)  
> at java.desktop/javax.swing.Timer$DoPostEvent.run(Unknown Source)  
> at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)  
> at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)  
> at java.desktop/java.awt.EventQueue$4.run(Unknown Source)  
> at java.desktop/java.awt.EventQueue$4.run(Unknown Source)  
> at java.base/java.security.AccessController.doPrivileged(Unknown Source)  
> at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)  
> at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)  
> at com.inductiveautomation.snap.swing.RibsEventQueue.dispatchEvent(RibsEventQueue.java:99)  
> at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)  
> at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)  
> at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)  
> at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)  
> at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)  
> at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)  
> Caused by: com.inductiveautomation.ignition.client.gateway\_interface.GatewayException: class com.osisoft.rdsa.DataReader (in unnamed module @0x7871eab) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x7871eab  
> at com.inductiveautomation.ignition.client.gateway\_interface.GatewayInterface.newGatewayException(GatewayInterface.java:360)  
> at com.inductiveautomation.ignition.client.gateway\_interface.GatewayInterface.sendMessage(GatewayInterface.java:334)  
> at com.inductiveautomation.ignition.client.gateway\_interface.GatewayInterface.sendMessage(GatewayInterface.java:287)  
> at com.inductiveautomation.ignition.client.gateway\_interface.GatewayInterface.moduleInvokeSafe(GatewayInterface.java:930)  
> at com.inductiveautomation.ignition.client.gateway\_interface.ModuleRPCFactory$DynamicRPCHandler.invoke(ModuleRPCFactory.java:53)  
> at jdk.proxy2/jdk.proxy2.$Proxy56.getReportData(Unknown Source)  
> at com.inductiveautomation.reporting.designer.workspace.design.SampleData$SampleDataLoader.doInBackground(SampleData.java:135)  
> at com.inductiveautomation.reporting.designer.workspace.design.SampleData$SampleDataLoader.doInBackground(SampleData.java:112)  
> at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)  
> at java.base/java.util.concurrent.FutureTask.run(Unknown Source)  
> at java.desktop/javax.swing.SwingWorker.run(Unknown Source)  
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
> at java.base/java.lang.Thread.run(Unknown Source)  
> Caused by: java.lang.IllegalAccessError: class com.osisoft.rdsa.DataReader (in unnamed module @0x7871eab) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x7871eab  
> at com.osisoft.rdsa.DataReader.setCurrentRow(DataReader.java:124)  
> at com.osisoft.rdsa.DataReader.next(DataReader.java:75)  
> at com.osisoft.jdbc.ResultSetImpl.next(ResultSetImpl.java:228)  
> at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:1160)  
> at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:1160)  
> at com.inductiveautomation.ignition.gateway.datasource.DelegatingResultSet.next(DelegatingResultSet.java:424)  
> at com.inductiveautomation.ignition.gateway.datasource.SRConnectionWrapper$SRStatement$ResultSetWrapper.next(SRConnectionWrapper.java:894)  
> at com.inductiveautomation.ignition.gateway.datasource.BasicStreamingDataset.(BasicStreamingDataset.java:102)  
> at com.inductiveautomation.ignition.gateway.datasource.BasicStreamingDataset.(BasicStreamingDataset.java:49)  
> at com.inductiveautomation.reporting.gateway.data.queries.PrepStmtQuerySource.executeQuery(PrepStmtQuerySource.java:93)  
> at com.inductiveautomation.reporting.gateway.data.queries.PrepStmtQuerySource.query(PrepStmtQuerySource.java:51)  
> at com.inductiveautomation.reporting.gateway.data.queries.PrepStmtQuerySource.query(PrepStmtQuerySource.java:28)  
> at com.inductiveautomation.reporting.gateway.data.QueryReportDataSource.gatherData(QueryReportDataSource.java:64)  
> at com.inductiveautomation.reporting.gateway.ReportingGatewayHook.getReportData(ReportingGatewayHook.java:480)  
> at com.inductiveautomation.reporting.gateway.ReportingGatewayHook$RPC.getReportData(ReportingGatewayHook.java:583)  
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(null)  
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(null)  
> at java.lang.reflect.Method.invoke(null)  
> at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.ModuleInvoke.invoke(ModuleInvoke.java:167)  
> at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:435)  
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:523)  
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)  
> at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:86)  
> at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)  
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)  
> at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)  
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)  
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)  
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)  
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
> at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)  
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)  
> at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)  
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)  
> at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)  
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)  
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)  
> at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)  
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)  
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)  
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
> at com.inductiveautomation.catapult.handlers.RemoteHostNameLookupHandler.handle(RemoteHostNameLookupHandler.java:121)  
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
> at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301)  
> at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)  
> at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)  
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)  
> at org.eclipse.jetty.server.Server.handle(Server.java:563)  
> at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)  
> at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)  
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)  
> at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)  
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)  
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)  
> at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)  
> at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140)  
> at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)  
> at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)  
> at java.lang.Thread.run(null)
> 
> Ignition v8.1.39 (b2024040909)  
> Java: Azul Systems, Inc. 17.0.10

Can someone shed some light on this error?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [September 16, 2024, 2:27pm UTC](https://forum.inductiveautomation.com/t/ignition-reporting-giving-errors-after-upgrade/96018/2 "2024-09-16T14:27:32Z")

</div>

I think you need a newer version of the JDBC driver you’re using to connect to PI.

---

<div class="post-metadata">

**Author:** ![Cody\_Morgan](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@Cody\_Morgan](https://forum.inductiveautomation.com/u/Cody_Morgan)\
**Post date:** [September 24, 2024, 9:24pm UTC](https://forum.inductiveautomation.com/t/ignition-reporting-giving-errors-after-upgrade/96018/3 "2024-09-24T21:24:45Z")

</div>

Did you get this to work?

---

<div class="post-metadata">

**Author:** ![koenigs.alex](https://avatars.discourse-cdn.com/v4/letter/k/919ad9/32.png) [@koenigs.alex](https://forum.inductiveautomation.com/u/koenigs.alex)\
**Post date:** [September 26, 2024, 5:02pm UTC](https://forum.inductiveautomation.com/t/ignition-reporting-giving-errors-after-upgrade/96018/4 "2024-09-26T17:02:48Z")

</div>

The drive has not been updated yet. In my company updating this driver falls under ITs responsibility and I'm just a controls guy. I will update this post when the drive is updated.

---

<div class="post-metadata">

**Author:** ![koenigs.alex](https://avatars.discourse-cdn.com/v4/letter/k/919ad9/32.png) [@koenigs.alex](https://forum.inductiveautomation.com/u/koenigs.alex)\
**Post date:** [October 9, 2024, 5:34pm UTC](https://forum.inductiveautomation.com/t/ignition-reporting-giving-errors-after-upgrade/96018/5 "2024-10-09T17:34:37Z")

</div>

Does anyone know where to get an up-to-date version of this JDBC driver?

---

<div class="post-metadata">

**Author:** ![Matthew.gaitan](https://avatars.discourse-cdn.com/v4/letter/m/59ef9b/32.png) [@Matthew.gaitan](https://forum.inductiveautomation.com/u/Matthew.gaitan)\
**Post date:** [October 9, 2024, 5:45pm UTC](https://forum.inductiveautomation.com/t/ignition-reporting-giving-errors-after-upgrade/96018/6 "2024-10-09T17:45:04Z")

</div>

I'm not sure if there's a way to get the file by itself directly from [https://my.osisoft.com/](https://my.osisoft.com/)

What I did in the past was install `PI JDBC 2016` (not sure if there's a newer version available)  
Then grab the jar file from `C:\Program Files (x86)\PIPC\JDBC\`

Edit:  
~~Actually, I might have installed `PI SQL Client JDBC 2021`  
Then grabbed the jar file from `C:\Program Files\PIPC\SQL\SQL Client\JDBC`  
I can't remember that far back 😅  
 ~~

> **[Using JDBC to Access OSI PI from Ignition](https://support.inductiveautomation.com/hc/en-us/articles/360047175812-Using-JDBC-to-Access-OSI-PI-from-Ignition)**
>
> Preface
> This document outlines the steps necessary to utilize the OSIsoft PI JDBC driver to query data from PI in Ignition. This document assumes a familiarity with the PI architecture and software...

I was correct at first
