One more question.. what version of Drill are you using?
> On Jun 23, 2020, at 3:01 PM, Christopher Kane > <[email protected]> wrote: > > Rafael > -I did place it in the jars/3rdparty folder. > > Storage Plugin Config: > { > "type": "jdbc", > "enabled": true, > "driver": "oracle.jdbc.driver.OracleDriver", > "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app" > } > (it's been modified to remove sensitive information) > > Charles > -I did turn Verbose on as you instructed, below is the full stacktrace. Now I > will say that the one DBA I was conversing with mentioned something about > JRE, and I find interesting in this stack trace that it seems to be a RunTime > exception. > -I'm not sure if I was aware they were at a version 10? This is the link I > was using to download the JDBC driver: > https://www.oracle.com/database/technologies/jdbc-drivers-12c-downloads.html > and the only options I see available and relevant are either ojdbc7.jar or > ojdbc6.jar. At this point I've tried both but am willing to change my > configuration while troubleshooting. In addition the recommended driver for > Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page > here: https://drill.apache.org/docs/rdbms-storage-plugin/ and that is the one > I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database. > > 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR > o.a.d.e.server.rest.StorageResources - Unable to create/ update plugin: QA2 > Oracle > org.apache.drill.common.exceptions.ExecutionSetupException: Failure setting > up new storage plugin configuration for config > org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53 > at > org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:536) > at > org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(StoragePluginRegistryImpl.java:132) > at > org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateInStorage(PluginConfigWrapper.java:56) > at > org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePluginJSON(StorageResources.java:212) > at > org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlugin(StorageResources.java:233) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:564) > at > org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) > at > org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) > at > org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) > at > org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205) > at > org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) > at > org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) > at > org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) > at > org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) > at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) > at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) > at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) > at org.glassfish.jersey.internal.Errors.process(Errors.java:315) > at org.glassfish.jersey.internal.Errors.process(Errors.java:297) > at org.glassfish.jersey.internal.Errors.process(Errors.java:267) > at > org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) > at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) > at > org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) > at > org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) > at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) > at > org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) > at > org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) > at > org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) > at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780) > at > org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767) > at > org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767) > at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) > at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) > at org.eclipse.jetty.server.Server.handle(Server.java:539) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) > at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) > at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) > at > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) > at java.base/java.lang.Thread.run(Thread.java:832) > Caused by: java.lang.RuntimeException: Rule description > 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid > at org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104) > at org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.java:78) > at > org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterRule.<init>(JdbcStoragePlugin.java:224) > at > org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConvention.<init>(JdbcStoragePlugin.java:119) > at > org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStoragePlugin.java:103) > at > java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at > java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) > at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481) > at > org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:528) > ... 56 common frames omitted > > -----Original Message----- > From: Charles Givre <[email protected]> > Sent: Tuesday, June 23, 2020 2:51 PM > To: [email protected] > Subject: Re: Initial Oracle Setup > > One more thing... > Did you try with the current Oracle JDBC driver? I believe they are at > version 10 now. > Thanks, > -- C > >> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <[email protected]> wrote: >> >> Hi Chris, >> >> You put the JDBC driver in the 3rd party folder? >> >> You're right you might be onto something if you get the password >> failed message. Can you post the exact text (JSON) of the storage >> plugin config? >> >> -Rafael >> >> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane >> <[email protected]> wrote: >>> >>> Hey Everyone, >>> >>> I'm looking to setup and create a new Oracle Storage Plugin for my local >>> Apache Drill instance. I have determined that a correct oracle connection >>> string with an incorrect password results in the following message: Please >>> retry: Error while creating / updating storage : java.sql.SQLException: >>> Cannot create PoolableConnectionFactory (ORA-01017: invalid >>> username/password; logon denied ). Now updating the connection string to >>> use the correct password results in the following message: Please retry: >>> Error while creating / updating storage : Rule description >>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid. >>> >>> I have confirmed with our DBAs and through my own testing that my >>> connection string is correct. When attempting to google anything related to >>> the message 'JDBC_DREL_Converter' unfortunately I am not able to find >>> anything useful. At this point I'm kind of grasping at straws as to what my >>> issue is at this point. In addition I also have the correct oracle thin >>> driver installed, which was the recommend one from the RDBMS page within >>> the Apache Drill documentation and I've also added this line to my >>> drill-override.conf, drill.exec.sys.store.provider.local.path = >>> "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I >>> wouldn't be able to get an error message back from Oracle saying that my >>> password was incorrect. Any help in regards to this would be greatly >>> appreciated. >>> >>> Christopher Kane >>> Software Test Engineer | Clover, CardConnect, FiServ >>> [email protected]<mailto:[email protected]>, >>> [email protected]<mailto:Christopher.Kane@cardconnect. >>> com>, >>> [email protected]<mailto:[email protected] >>> m>, [email protected]<mailto:[email protected]> >>> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are >>> proprietary and confidential information protected from disclosure and >>> intended only for the use of the recipient(s) named above. If the reader of >>> this message is not the intended recipient, or an employee or agent >>> responsible for delivering this message to the intended recipient, you are >>> hereby notified that any dissemination, distribution or copying of this >>> message or any attachments is strictly prohibited. If you have received >>> this communication in error, please notify CardConnect immediately by >>> replying to this message and then delete this message and any attachments >>> from your computer. > > THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are > proprietary and confidential information protected from disclosure and > intended only for the use of the recipient(s) named above. If the reader of > this message is not the intended recipient, or an employee or agent > responsible for delivering this message to the intended recipient, you are > hereby notified that any dissemination, distribution or copying of this > message or any attachments is strictly prohibited. If you have received this > communication in error, please notify CardConnect immediately by replying to > this message and then delete this message and any attachments from your > computer.
