Open Criccle opened 7 years ago
Pretty sure SQL queries need to end with a semicolon character ';'. Perhaps PGAdmin does this for you, but I don't think the database would accept the query without it.
We tried that as well, but it doesn't change anything. Other ideas?
I recently had this same problem connecting to Teradata. I found that one of the attribute names in my model did not match the exact case of column name returned by the database.
@Criccle / @sbutter21 Can you post the stacktrace if possible? That will help in pinpointing the problem.
@arjenw stack trace below.
java.lang.NullPointerException
com.mendix.core.CoreRuntimeException: com.mendix.systemwideinterfaces.MendixRuntimeException: java.lang.NullPointerException
at com.mendix.basis.component.InternalCore.execute(InternalCore.java:663)
Caused by:
com.mendix.systemwideinterfaces.MendixRuntimeException: java.lang.NullPointerException
at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.java:210)
Caused by:
java.lang.NullPointerException
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36)
Caused by:
null
at databaseconnector.impl.JdbcConnector.lambda$null$1(JdbcConnector.java:51)
at java.util.HashMap.forEach(HashMap.java:1288)
at databaseconnector.impl.JdbcConnector.lambda$executeQuery$2(JdbcConnector.java:65)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at databaseconnector.actions.ExecuteQuery.executeAction(ExecuteQuery.java:83)
at databaseconnector.actions.ExecuteQuery.executeAction(ExecuteQuery.java:58)
at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:46)
at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:79)
at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:57)
at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:55)
at com.mendix.basis.actionmanagement.ActionManager$1.execute(ActionManager.java:201)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.java:206)
at com.mendix.basis.component.InternalCore.execute(InternalCore.java:659)
at com.mendix.modules.microflowengine.actions.actioncall.JavaAction.execute(JavaAction.scala:56)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:47)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.java:201)
at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.java:157)
at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:46)
at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:79)
at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:57)
at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:55)
at com.mendix.basis.actionmanagement.ActionManager$1.execute(ActionManager.java:201)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.java:206)
at com.mendix.basis.component.InternalCore.execute(InternalCore.java:628)
at com.mendix.basis.component.InternalCore.execute(InternalCore.java:643)
at com.mendix.webui.actions.client.ExecuteMicroflowAction.$anonfun$executeMicroflow$5(ExecuteMicroflowAction.scala:108)
at scala.Option.getOrElse(Option.scala:121)
at com.mendix.webui.actions.client.ExecuteMicroflowAction.executeMicroflow(ExecuteMicroflowAction.scala:108)
at com.mendix.webui.actions.client.ExecuteMicroflowAction.execute(ExecuteMicroflowAction.scala:63)
at com.mendix.webui.requesthandling.ClientRequestHandler.$anonfun$handleRequest$2(ClientRequestHandler.scala:187)
at com.mendix.webui.requesthandling.helpers.StateHandling.withState(StateHandling.scala:26)
at com.mendix.webui.requesthandling.helpers.StateHandling.withState$(StateHandling.scala:17)
at com.mendix.webui.requesthandling.ClientRequestHandler.withState(ClientRequestHandler.scala:29)
at com.mendix.webui.requesthandling.ClientRequestHandler.$anonfun$handleRequest$1(ClientRequestHandler.scala:185)
at com.mendix.webui.requesthandling.ClientRequestHandler.$anonfun$handleRequest$1$adapted(ClientRequestHandler.scala:171)
at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$4(ContextHandling.scala:41)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at com.mendix.basis.actionmanagement.IMonitoredAction$$anon$1.execute(IMonitoredAction.scala:47)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
at com.mendix.basis.actionmanagement.IMonitoredAction.monitor(IMonitoredAction.scala:49)
at com.mendix.basis.actionmanagement.IMonitoredAction.monitor$(IMonitoredAction.scala:25)
at com.mendix.webui.requesthandling.helpers.ContextHandling$ClientMonitoredAction.monitor(ContextHandling.scala:49)
at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:41)
at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:27)
at com.mendix.webui.requesthandling.ClientRequestHandler.inContext(ClientRequestHandler.scala:29)
at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:24)
at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:19)
at com.mendix.webui.requesthandling.ClientRequestHandler.inContext(ClientRequestHandler.scala:29)
at com.mendix.webui.requesthandling.ClientRequestHandler.handleRequest(ClientRequestHandler.scala:171)
at com.mendix.webui.requesthandling.ClientRequestHandler.$anonfun$handleAction$1(ClientRequestHandler.scala:142)
at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest(ProfileHandling.scala:14)
at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest$(ProfileHandling.scala:10)
at com.mendix.webui.requesthandling.ClientRequestHandler.profileRequest(ClientRequestHandler.scala:29)
at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:142)
at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:102)
at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:40)
at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:72)
at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:69)
at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:75)
at com.mendix.basis.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.java:862)
at com.mendix.m2ee.appcontainer.server.handler.RuntimeHandler.service(RuntimeHandler.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:561)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
at java.lang.Thread.run(Thread.java:748)
We are trying out the database-connector with IBM Bluemix. Our testcase is really simple and works perfectly on PGAdmin.
We have created a Mendix app using 6.10.3, deployed it to Bluemix IBM using the tutorial. It's connected to an ElephantSQL database. We can connect to this database using the Database Connector, but we get Nullpointer exceptions when we execute a simple select query:
SELECT Meow FROM myfirstmodule$kitty
As I said before: this works when adding the database in PGAdmin and executing the query there.
Can you perhaps provide more information on what might be wrong? Thanks!