drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Givre <cgi...@gmail.com>
Subject Re: Initial Oracle Setup
Date Tue, 30 Jun 2020 20:06:23 GMT
Hey Chris, 
Glad you got things working.  Just to be clear... you don't have to remove all the columns in your view in Oracle.  You can transform them to a JDBC compatible datatype.  
For example:  (Ignore the syntax...)

SELECT CAST(timezone_field AS DATETIME) AS timezone_field
....

Then you won't lose the data.

Regarding your next question, does this approach have merit...  Usually it doesn't make much sense to query a relational database from Drill by itself as now you are adding Drill's overhead to your queries. However, if you are joining that data with other datasets that are not in your database, that does make sense, because that usually involves coding or something a lot more complicated than Drill. 
I had never thought about using Drill as an API for a database.  I guess if it works for you, then Hey the approach has merit!  

In all honesty, I would think it wouldn't be too difficult to create a quick REST API using one of the many Python API frameworks and that would probably be my preferred approach.  That would get you a lot of benefits that Drill doesn't have such as more flexibility, better authentication, etc. However, I don't know all the details of your use case, so I'd say carry on... Ultimately, it depends on what you're trying to do as to whether Drill is the best tool or not. 
Best,
-- C





> On Jun 29, 2020, at 7:15 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
> 
> Alright, so I was finally able to create a view in my own schema that removed all of the columns with the timestamp with timezone data type and was able to perform a query as expected! Now the next step will be utilizing the API to be able to query oracle from Postman which will be able to provide some sort of "end to end" testing which currently is not available since Oracle does not offer any sort of API to hit their databases directly, so once I saw Apache Drill I figured that was an excellent use case for your wonderful technology 😊.
> 
> I probably won't have a full POC up and running for when you guys do your Apache Conference, but as I am new in the field (2+ years), in your opinion do you think my POC has merit and would be useful for other people to know that this potential exists?
> 
> Thanks again for all your help!
> Chris
> 
> -----Original Message-----
> From: Christopher Kane <christopher.kane@cardconnect.com.INVALID>
> Sent: Thursday, June 25, 2020 11:27 AM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
> 
> Ah okay, that makes a lot of sense now. I will look into what you and Ted have suggested about a materialized view, I guess I just might have to do that for the time being to test my POC further. I'll let you know if I run into any issues with that, thanks again I appreciate all of your help 😊! If you guys develop a fix for that and need someone to test it, let me know and I'd be happy to do that for you!
> 
> -Chris
> 
> -----Original Message-----
> From: Charles Givre <cgivre@gmail.com>
> Sent: Wednesday, June 24, 2020 10:14 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.
> The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
> Best,
> -- C
> 
> 
> 
> 
>> On Jun 24, 2020, at 6:10 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
>> 
>> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
>> 
>> -Chris
>> 
>> -----Original Message-----
>> From: Christopher Kane <christopher.kane@cardconnect.com.INVALID>
>> Sent: Wednesday, June 24, 2020 5:34 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>> 
>> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
>> 
>> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
>> 
>> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
>> 
>> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
>> 
>> -----Original Message-----
>> From: Charles Givre <cgivre@gmail.com>
>> Sent: Wednesday, June 24, 2020 5:25 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>> 
>> Hi Chris,
>> You’re correct…
>> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
>> — C
>> 
>> 
>>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
>>> 
>>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>>> 
>>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>>> 
>>> -Chris
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cgivre@gmail.com>
>>> Sent: Wednesday, June 24, 2020 5:13 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>>> 
>>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>>> — C
>>> 
>>> 
>>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
>>>> 
>>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>>> merchant_id=85616270
>>>> 
>>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cgivre@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> I looked this up… SQL Data Type 101 is a binary double.
>>>> 
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>>> hIVqbqiRRDh2qs&e=
>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>>> shIVqbqiRRDh2qs&e= >
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cgivre@gmail.com> wrote:
>>>>> 
>>>>> Some more questions…
>>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>>> SELECT CAST(<some field> AS INT)
>>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
>>>>>> 
>>>>>> Hey Charles,
>>>>>> 
>>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>>> 
>>>>>> -Chris
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cgivre@gmail.com>
>>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>>> To: user <user@drill.apache.org>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> Hey Christopher,
>>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>>> Thx,
>>>>>> --C
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> Rafael
>>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>>> 
>>>>>>> Charles
>>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane <christopher.kane@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>> 
>>>>>>> Rafael
>>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>>> 
>>>>>>> Charles
>>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>>> ERROR: Unknown SQL type -101
>>>>>>> 
>>>>>>> 
>>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>>> u
>>>>>>> eryRunner.java:181) at
>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>>> e
>>>>>>> r.java:70) at
>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>>> e
>>>>>>> ryResources.java:96) at
>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>>> e
>>>>>>> sources.java:114) at
>>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>>> Source) at
>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>>> D
>>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>>> H
>>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>>> 8
>>>>>>> 1) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>>> c
>>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>>> r
>>>>>>> ovider.java:205) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>>> u
>>>>>>> rceMethodInvoker.java:389) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>> r
>>>>>>> ceMethodInvoker.java:347) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>> r
>>>>>>> ceMethodInvoker.java:102) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>>> 3
>>>>>>> 26) 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(Reque
>>>>>>> s
>>>>>>> tScope.java:317) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>>> a
>>>>>>> :305) at
>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>>> n
>>>>>>> dler.java:1154) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>>> j
>>>>>>> ava:473) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>> 427) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:388) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:341) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:228) at
>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>>> 4
>>>>>>> 8) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1780) at
>>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>>> e
>>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>>> at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>>> C
>>>>>>> srfTokenValidateFilter.java:55) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>>> r
>>>>>>> fTokenInjectFilter.java:54) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>>> v
>>>>>>> a:583) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>>> d
>>>>>>> ler.java:224) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>>> d
>>>>>>> ler.java:1180) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>>> a
>>>>>>> :513) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>>> l
>>>>>>> er.java:185) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>>> l
>>>>>>> er.java:1112) at
>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>> java:141) at
>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>>> e
>>>>>>> r.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.j
>>>>>>> a
>>>>>>> va:251) at
>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>>> r
>>>>>>> actConnection.java:283) at
>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>> at
>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>>> i
>>>>>>> nt.java:93) at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>>> e
>>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>>> e
>>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>>> e
>>>>>>> cuteProduceConsume.java:136) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>>> o
>>>>>>> ol.java:671) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>>> o
>>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>>> -101 at
>>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>>> at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>> a
>>>>>>> .java:385) at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>> a
>>>>>>> .java:362) at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>>> 117) at
>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>>> 159) at
>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>>> j
>>>>>>> ava:99) at
>>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>>> t
>>>>>>> ingScope.java:203) at
>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>>> n
>>>>>>> tifierNamespace.java:105) at
>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>>> e
>>>>>>> ntifierNamespace.java:177) at
>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>> N
>>>>>>> amespace.java:84) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>> S
>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>> a
>>>>>>> lidatorImpl.java:969) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>> l
>>>>>>> idatorImpl.java:3129) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>> e
>>>>>>> From(DrillValidator.java:63) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>> l
>>>>>>> idatorImpl.java:3111) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>> e
>>>>>>> From(DrillValidator.java:63) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>>> V
>>>>>>> alidatorImpl.java:3383) at
>>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>>> N
>>>>>>> amespace.java:60) at
>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>> N
>>>>>>> amespace.java:84) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>> S
>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>> a
>>>>>>> lidatorImpl.java:969) at
>>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>>> at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>>> e
>>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>>> t
>>>>>>> orImpl.java:651) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>>> S
>>>>>>> qlConverter.java:189) at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>> t
>>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>> t
>>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>>> at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>>> n
>>>>>>> (DefaultSqlHandler.java:169) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>>> S
>>>>>>> qlWorker.java:283) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>>> i
>>>>>>> llSqlWorker.java:163) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>>> q
>>>>>>> lWorker.java:128) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>>> r
>>>>>>> ker.java:93) at
>>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>>> at .......(:0)
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cgivre@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> One more thing...
>>>>>>> 
>>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>>> -- C
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
>>>>>>>> 
>>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>>> 
>>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>>> related to this:
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>>> org
>>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>>> R
>>>>>>>> bCB
>>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>>> S ZZi
>>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>>> 
>>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Rafael Jaimes III <rafjaimes@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> Glad you got it working with the new version regardless!
>>>>>>>> 
>>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <christopher.kane@cardconnect.com.invalid> wrote:
>>>>>>>>> 
>>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Christopher Kane <christopher.kane@cardconnect.com.INVALID>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cgivre@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>>> To: user <user@drill.apache.org>
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> a
>>>>>>>>> pac
>>>>>>>>> h
>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>> l
>>>>>>>>> lmV
>>>>>>>>> q
>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>> =
>>>>>>>>> C8v
>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> a
>>>>>>>>> pac
>>>>>>>>> h
>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>> l
>>>>>>>>> lmV
>>>>>>>>> q
>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>> =
>>>>>>>>> C8v
>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>>> source.
>>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>>> g
>>>>>>>>> ivr
>>>>>>>>> e
>>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>>> I
>>>>>>>>> 0-D
>>>>>>>>> P
>>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>>> N
>>>>>>>>> loM
>>>>>>>>> 5
>>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>>> q
>>>>>>>>> XY0
>>>>>>>>> &
>>>>>>>>> e=
>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> c
>>>>>>>>> giv
>>>>>>>>> r
>>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>>> W
>>>>>>>>> I0-
>>>>>>>>> D
>>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>>> S
>>>>>>>>> Nlo
>>>>>>>>> M
>>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>>> -
>>>>>>>>> qXY
>>>>>>>>> 0
>>>>>>>>> &e= >
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
>>>>>>>>>> 
>>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Christopher Kane
>>>>>>>>>> <christopher.kane@cardconnect.com.INVALID>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>> 
>>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cgivre@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>> 
>>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>>> 
>>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>>> 
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>>> <mailto:cgivre@gmail.com>>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>>> To: user <user@drill.apache.org <mailto:user@drill.apache.org>>
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>> 
>>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <christopher.kane@cardconnect.com.INVALID> 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://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  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://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  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(S
>>>>>>>>>>>> t
>>>>>>>>>>>> ora
>>>>>>>>>>>> ge
>>>>>>>>>>>> P
>>>>>>>>>>>> l
>>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>>> U
>>>>>>>>>>>> pda
>>>>>>>>>>>> te
>>>>>>>>>>>> (
>>>>>>>>>>>> S
>>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>>> U
>>>>>>>>>>>> pda
>>>>>>>>>>>> te
>>>>>>>>>>>> I
>>>>>>>>>>>> n
>>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>> a
>>>>>>>>>>>> teP
>>>>>>>>>>>> lu
>>>>>>>>>>>> g
>>>>>>>>>>>> i
>>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>> a
>>>>>>>>>>>> teP
>>>>>>>>>>>> lu
>>>>>>>>>>>> g
>>>>>>>>>>>> i
>>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>> 0
>>>>>>>>>>>> (Na
>>>>>>>>>>>> ti
>>>>>>>>>>>> v
>>>>>>>>>>>> e
>>>>>>>>>>>> Method) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>> (
>>>>>>>>>>>> Nat
>>>>>>>>>>>> iv
>>>>>>>>>>>> e
>>>>>>>>>>>> M
>>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>>> v
>>>>>>>>>>>> oke
>>>>>>>>>>>> (D
>>>>>>>>>>>> e
>>>>>>>>>>>> l
>>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>>> a
>>>>>>>>>>>> tio
>>>>>>>>>>>> nH
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a:8
>>>>>>>>>>>> 1)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>>> i
>>>>>>>>>>>> spa
>>>>>>>>>>>> tc
>>>>>>>>>>>> h
>>>>>>>>>>>> e
>>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>>> e
>>>>>>>>>>>> rPr
>>>>>>>>>>>> ov
>>>>>>>>>>>> i
>>>>>>>>>>>> d
>>>>>>>>>>>> er.java:205) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>>> 9
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>>> (
>>>>>>>>>>>> Res
>>>>>>>>>>>> ou
>>>>>>>>>>>> r
>>>>>>>>>>>> c
>>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>> R
>>>>>>>>>>>> eso
>>>>>>>>>>>> ur
>>>>>>>>>>>> c
>>>>>>>>>>>> e
>>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>> R
>>>>>>>>>>>> eso
>>>>>>>>>>>> ur
>>>>>>>>>>>> c
>>>>>>>>>>>> e
>>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>>> j
>>>>>>>>>>>> ava
>>>>>>>>>>>> :3
>>>>>>>>>>>> 2
>>>>>>>>>>>> 6
>>>>>>>>>>>> ) 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(
>>>>>>>>>>>> R
>>>>>>>>>>>> equ
>>>>>>>>>>>> es
>>>>>>>>>>>> t
>>>>>>>>>>>> S
>>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>>> 3
>>>>>>>>>>>> 05) at
>>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>>> i
>>>>>>>>>>>> onH
>>>>>>>>>>>> an
>>>>>>>>>>>> d
>>>>>>>>>>>> l
>>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>>> n
>>>>>>>>>>>> ent
>>>>>>>>>>>> .j
>>>>>>>>>>>> a
>>>>>>>>>>>> v
>>>>>>>>>>>> a:473) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>>> 4
>>>>>>>>>>>> 2
>>>>>>>>>>>> 7) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:388) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:341) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:228) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>>> 84
>>>>>>>>>>>> 8
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>>> l
>>>>>>>>>>>> ter
>>>>>>>>>>>> (C
>>>>>>>>>>>> s
>>>>>>>>>>>> r
>>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>>> e
>>>>>>>>>>>> r(C
>>>>>>>>>>>> sr
>>>>>>>>>>>> f
>>>>>>>>>>>> T
>>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>>> 583) at
>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>>> o
>>>>>>>>>>>> nHa
>>>>>>>>>>>> nd
>>>>>>>>>>>> l
>>>>>>>>>>>> e
>>>>>>>>>>>> r.java:224) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>>> x
>>>>>>>>>>>> tHa
>>>>>>>>>>>> nd
>>>>>>>>>>>> l
>>>>>>>>>>>> e
>>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>>> 5
>>>>>>>>>>>> 13) at
>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>>> n
>>>>>>>>>>>> Han
>>>>>>>>>>>> dl
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:185) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>>> t
>>>>>>>>>>>> Han
>>>>>>>>>>>> dl
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:1112) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>>> j
>>>>>>>>>>>> a
>>>>>>>>>>>> va: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:3
>>>>>>>>>>>> 3
>>>>>>>>>>>> 3)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>>> ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a
>>>>>>>>>>>> :251) at
>>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>>> (
>>>>>>>>>>>> Abs
>>>>>>>>>>>> tr
>>>>>>>>>>>> a
>>>>>>>>>>>> c
>>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>>> 0
>>>>>>>>>>>> 8)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>>> E
>>>>>>>>>>>> ndP
>>>>>>>>>>>> oi
>>>>>>>>>>>> n
>>>>>>>>>>>> t
>>>>>>>>>>>> .java:93) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>>> x
>>>>>>>>>>>> ecu
>>>>>>>>>>>> te
>>>>>>>>>>>> P
>>>>>>>>>>>> r
>>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>>> r
>>>>>>>>>>>> odu
>>>>>>>>>>>> ce
>>>>>>>>>>>> C
>>>>>>>>>>>> o
>>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>>> u
>>>>>>>>>>>> n(E
>>>>>>>>>>>> xe
>>>>>>>>>>>> c
>>>>>>>>>>>> u
>>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>>> r
>>>>>>>>>>>> ead
>>>>>>>>>>>> Po
>>>>>>>>>>>> o
>>>>>>>>>>>> l
>>>>>>>>>>>> .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.
>>>>>>>>>>>> ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a
>>>>>>>>>>>> :78) at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>>> v
>>>>>>>>>>>> ert
>>>>>>>>>>>> er
>>>>>>>>>>>> R
>>>>>>>>>>>> u
>>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>>> n
>>>>>>>>>>>> ven
>>>>>>>>>>>> ti
>>>>>>>>>>>> o
>>>>>>>>>>>> n
>>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>>> S
>>>>>>>>>>>> tor
>>>>>>>>>>>> ag
>>>>>>>>>>>> e
>>>>>>>>>>>> P
>>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>> e
>>>>>>>>>>>> wIn
>>>>>>>>>>>> st
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>> e
>>>>>>>>>>>> wIn
>>>>>>>>>>>> st
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>>> p
>>>>>>>>>>>> l.n
>>>>>>>>>>>> ew
>>>>>>>>>>>> I
>>>>>>>>>>>> n
>>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>>> C
>>>>>>>>>>>> ons
>>>>>>>>>>>> tr
>>>>>>>>>>>> u
>>>>>>>>>>>> c
>>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>>> 4
>>>>>>>>>>>> 81) at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>> t
>>>>>>>>>>>> ora
>>>>>>>>>>>> ge
>>>>>>>>>>>> P
>>>>>>>>>>>> l
>>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>>> 
>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>> From: Charles Givre <cgivre@gmail.com>
>>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>>> 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 <rafjaimes@gmail.com> 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
>>>>>>>>>>>>> <christopher.kane@cardconnect.com.invalid> 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
>>>>>>>>>>>>>> ckane@clover.com<mailto:ckane@clover.com>,
>>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>>> com>,
>>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>>> c
>>>>>>>>>>>>>> o
>>>>>>>>>>>>>> m>,
>>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>>> m>r
>>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>>> m>om
>>>>>>>>>>>>>> m>>
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 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.
>>>>>>>>>>> 
>>>>>>>>>>> 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.
>>>>>>>>>> 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.
>>>>>>>>> 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.
>>>>>>> 
>>>>>>> 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.
>>>>>> 
>>>>>> 
>>>>>> 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.
>>> 
>>> 
>>> 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.
>> 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.
> 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.


Mime
View raw message