mendix / database-connector

https://appstore.home.mendix.com/link/app/2888/Mendix/Database-Connector
Apache License 2.0
9 stars 26 forks source link

Nullpointer when executing query #6

Open Criccle opened 7 years ago

Criccle commented 7 years ago

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!

Rvthof commented 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.

Criccle commented 7 years ago

We tried that as well, but it doesn't change anything. Other ideas?

sbutter21 commented 6 years ago

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.

arjenw commented 6 years ago

@Criccle / @sbutter21 Can you post the stacktrace if possible? That will help in pinpointing the problem.

sbutter21 commented 6 years ago

@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)