FW: connections issues of presto to tableau using Terdata ODBC driver

Presto
Enthusiast

FW: connections issues of presto to tableau using Terdata ODBC driver

Hello All,

 

I'm facing the following issue with Presto/Tableau/odbc driver.

 

Presto version over Hive: 0.169 over 1.2.1.2.5

Teradata driver: 1.1.8.1016 (32 bit)

Tableau: 10.2.0 (32b)

 

I seted up ODBC data source to be able to connect to Presto cluster:

auth_type=LDAP

user=<user>

password=<password>

Host=<hostname>

port=8443

catalog=hive

schema=default

in SSL option I used self-signed ceritificate.

 

When I'm trying to test connection everything is fine (also I tested with wrong password and connection failed). 

 

Then I start Tableau and add new data source using "Other datasource (ODBC)" choose my DSN there press "connect" and then "Sign in".

I expect that after it I will be able to list of tables below connection name but it is empty. If I will try to go to "sheet 1" I will face the following error message:

----------------------------------- cut ---------------------------------------------------

This ODBC driver does not support important capabilities used by Tableau.

This unsupported function is required for relative date filters: The date part named 'day' for the date function: DATETRUNC(date_part, date, [start_of_week])

This unsupported function is required for relative date filters: The date part named 'hour' for the date function: DATETRUNC(date_part, date, [start_of_week])

This unsupported function is required for relative date filters: The date part named 'minute' for the date function: DATETRUNC(date_part, date, [start_of_week])

This unsupported function is required for relative date filters: The date part named 'month' for the date function: DATETRUNC(date_part, date, [start_of_week])

This unsupported function is required for relative date filters: The date part named 'quarter' for the date function: DATETRUNC(date_part, date, [start_of_week])

This unsupported function is required for relative date filters: The date part named 'second' for the date function: DATETRUNC(date_part, date, [start_of_week])

This unsupported function is required for relative date filters: The date part named 'week' for the date function: DATETRUNC(date_part, date, [start_of_week])

-----

Tableau identified the following errors for the ODBC data source named 'Teradata Presto ODBC DSN':

This aggregation is unsupported: Collect

-----

Tableau identified the following warnings for the ODBC data source named 'Teradata Presto ODBC DSN':

This aggregation is unsupported: Attribute

This aggregation is unsupported: Trunc Day

This aggregation is unsupported: Trunc Hour

This aggregation is unsupported: Trunc Minute

This aggregation is unsupported: Trunc Month

This aggregation is unsupported: Trunc Quarter

This aggregation is unsupported: Trunc Second

This aggregation is unsupported: Trunc Week Number

This aggregation is unsupported: Trunc Year

This function is unsupported: != with parameter types 'date, datetime'

This function is unsupported: != with parameter types 'datetime, date'

This function is unsupported: / with parameter types 'integer, integer'

This function is unsupported: < with parameter types 'date, datetime'

This function is unsupported: < with parameter types 'datetime, date'

This function is unsupported: <= with parameter types 'date, datetime'

This function is unsupported: <= with parameter types 'datetime, date'

This function is unsupported: == with parameter types 'date, datetime'

This function is unsupported: == with parameter types 'datetime, date'

This function is unsupported: > with parameter types 'date, datetime'

This function is unsupported: > with parameter types 'datetime, date'

This function is unsupported: >= with parameter types 'date, datetime'

This function is unsupported: >= with parameter types 'datetime, date'

This function is unsupported: ASCII(string) with parameter types 'string'

This function is unsupported: DATE with parameter types 'date'

This function is unsupported: DATE with parameter types 'datetime'

This function is unsupported: DATE with parameter types 'float'

This function is unsupported: DATE with parameter types 'string'

This function is unsupported: DATETIME with parameter types 'date'

This function is unsupported: DATETIME with parameter types 'datetime'

This function is unsupported: DATETIME with parameter types 'integer'

This function is unsupported: DATETIME with parameter types 'string'

This function is unsupported: FLOAT with parameter types 'float'

This function is unsupported: FLOAT with parameter types 'integer'

This function is unsupported: FLOAT with parameter types 'string'

This function is unsupported: INT with parameter types 'integer'

This function is unsupported: INT with parameter types 'string'

This function is unsupported: SIGN(number) with parameter types 'float'

This function is unsupported: SPACE(number) with parameter types 'integer'

This function is unsupported: STR with parameter types 'date'

This function is unsupported: STR with parameter types 'datetime'

This function is unsupported: STR with parameter types 'float'

This function is unsupported: STR with parameter types 'integer'

This function is unsupported: STR with parameter types 'string'

This function is unsupported: The date part named 'day' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'dayofyear' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'hour' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'minute' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'month' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'quarter' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'second' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'week' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'weekday' for the date function: DATENAME(date_part, date, [start_of_week])

This function is unsupported: The date part named 'year' for the date function: DATENAME(date_part, date, [start_of_week])

------------------- end of cut ----------------------

 

I tried google about those messages and find only old messages suggested to update driver while I have the most fresh one.

 

Does anyone face this issue before?

Any suggestions?

 

thanks in advance.

17 REPLIES
Teradata Employee

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

There will be a new version of the driver out shortly (1.1.12.1021), but the version you have now should work.

 

Did you install the Teradata_Presto_ODBC_Driver.tdc file that was included with the driver?

 

Instructions for installing a tdc file are here:

http://kb.tableau.com/articles/howto/using-a-tdc-file-with-tableau-server

Enthusiast

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

Thanks for reply.

 

First of all need to mentioned that I do not use Tableau Server. I'm using Tableau Desktop to connect to Presto.

I've read article and followed instruction: put tdc file into "c:\Program Files (x86)\Tableau\Tableau 10.2\bin\" and ended up with the same error.

 

 

Teradata Employee

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

I also use Tableau Desktop.  I find that it works if I put the TDC file in my Datasources directory.tableau-screenshot.png

tdc-location.png 

 

Enthusiast

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

@brianrickman

did not work.

 

I enabled logging and setup it to debug level. I found the following errors:

 

------- quite a lot of (have no idea whether it affects) ------

Apr 13 09:36:40.857 ERROR 9292 Connection::SQLGetInfoW: [Teradata][ODBC] (11180) SQLGetInfo property not found: 10025

 

The next occurs when I'm connecting to "other databases (ODBC)" to configured odbc DSN and before I will press "Sign in" button.

------ much more interesting error(s) ---

Apr 13 09:36:42.623 ERROR 13308 PRUtils::ParseAndLogError: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} :
com.facebook.presto.sql.parser.SqlParser$1.syntaxError(SqlParser.java:45)
org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:540)
org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:301)
org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:124)
com.facebook.presto.sql.parser.SqlBaseParser.statement(SqlBaseParser.java:2439)
com.facebook.presto.sql.parser.SqlBaseParser.singleStatement(SqlBaseParser.java:233)
com.facebook.presto.sql.parser.SqlParser.invokeParser(SqlParser.java:92)
com.facebook.presto.sql.parser.SqlParser.createStatement(SqlParser.java:65)
com.facebook.presto.execution.SqlQueryManager.createQuery(SqlQueryManager.java:338)
com.facebook.presto.server.StatementResource$Query.<init>(StatementResource.java:329)
com.facebook.presto.server.StatementResource.createQuery(StatementResource.java:173)
sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:267)
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
com.facebook.presto.server.security.LdapFilter.doFilter(LdapFilter.java:166)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
io.airlift.http.server.TraceTokenFilter.doFilter(TraceTokenFilter.java:63)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
io.airlift.http.server.TimingFilter.doFilter(TimingFilter.java:52)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:395)
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182)
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
org.eclipse.jetty.server.Server.handle(Server.java:523)
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
java.lang.Thread.run(Thread.java:745)
Apr 13 09:36:42.624 ERROR 13308 DSIDataEngine::MakeNewMetadataResult: [Teradata][Presto] (1060) Presto Query Error: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} (1)
Apr 13 09:36:42.624 ERROR 13308 Statement::ExecuteCatalogFunction: [Teradata][Presto] (1060) Presto Query Error: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} (1)
Apr 13 09:36:42.625 INFO 13308 Connection::ExecuteCatalogFunction: SQLTables("hive", NULL, NULL, "'TABLE', 'VIEW', 'SYSTEM TABLE', 'GLOBAL TEMPORARY'")
Apr 13 09:36:42.625 INFO 13308 PRDataEngine::Prepare: Prepared Query: select * from "hive"."information_schema"."tables"
Apr 13 09:36:42.625 DEBUG 13308 PRQueryExecutor::PRQueryExecutor: Query string UTF-8 hex dump: 73656C656374202A2066726F6D202268697665222E22696E666F726D6174696F6E5F736368656D61222E227461626C657322
Apr 13 09:36:42.625 INFO 13308 PRResultSet::Execute: Query : select * from "hive"."information_schema"."tables"
Apr 13 09:36:42.665 ERROR 13308 PRUtils::ParseAndLogError: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} :
com.facebook.presto.sql.parser.SqlParser$1.syntaxError(SqlParser.java:45)
org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:540)
org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:301)
org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:124)
com.facebook.presto.sql.parser.SqlBaseParser.statement(SqlBaseParser.java:2439)
com.facebook.presto.sql.parser.SqlBaseParser.singleStatement(SqlBaseParser.java:233)
com.facebook.presto.sql.parser.SqlParser.invokeParser(SqlParser.java:92)
com.facebook.presto.sql.parser.SqlParser.createStatement(SqlParser.java:65)
com.facebook.presto.execution.SqlQueryManager.createQuery(SqlQueryManager.java:338)
com.facebook.presto.server.StatementResource$Query.<init>(StatementResource.java:329)
com.facebook.presto.server.StatementResource.createQuery(StatementResource.java:173)
sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:267)
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
com.facebook.presto.server.security.LdapFilter.doFilter(LdapFilter.java:166)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
io.airlift.http.server.TraceTokenFilter.doFilter(TraceTokenFilter.java:63)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
io.airlift.http.server.TimingFilter.doFilter(TimingFilter.java:52)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:395)
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182)
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
org.eclipse.jetty.server.Server.handle(Server.java:523)
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
java.lang.Thread.run(Thread.java:745)
Apr 13 09:36:42.665 ERROR 13308 DSIDataEngine::MakeNewMetadataResult: [Teradata][Presto] (1060) Presto Query Error: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} (1)
Apr 13 09:36:42.666 ERROR 13308 Statement::ExecuteCatalogFunction: [Teradata][Presto] (1060) Presto Query Error: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} (1)
Apr 13 09:36:42.667 INFO 13308 CInterface::SQLFreeHandle: Freeing statement handle.
Apr 13 09:36:42.679 INFO 13308 CInterface::SQLAllocHandle: Allocating statement handle.

-------------------------------

 

despite this errors at the end of the driver.log file I found:

Apr 13 09:38:58.974 INFO  17160 DSTestResultDialog::Initialize: Test connected successfully.

 

thanks

Enthusiast

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

 
 

 

A little bit better: I do not see error messages, but still do not have any tables shown on the page.

 

I enabled logs and got the following error when I'm trying to "connect" to DSN in Tableau but before I will push "Sign in" button.

 

-------- cut ------------

Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_xPrestoUser: <user_name_here>
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_hostAndPort: <hostname>:8443
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_catalog: hive
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_schema: default
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_timezoneID: Europe/Warsaw
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_userAgent: Teradata Presto ODBC Driver
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_serverMajorVersion: 0
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_serverMinorVersion: 169
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_authType: LDAP Authentication
Apr 13 09:36:42.294 INFO 9292 PRConnection::LogSettings: m_distro: Teradata
Apr 13 09:36:42.295 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_CURSOR_COMMIT_BEHAVIOR (23)
Apr 13 09:36:42.295 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_CURSOR_ROLLBACK_BEHAVIOR (24)
Apr 13 09:36:42.295 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_GETDATA_EXTENSIONS (81)
Apr 13 09:36:42.295 INFO 9292 Connection::SQLSetConnectAttr: Attribute: SQL_ATTR_QUIET_MODE (111)
Apr 13 09:36:42.295 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_TXN_CAPABLE (46)
Apr 13 09:36:42.300 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_DBMS_NAME (17)
Apr 13 09:36:42.304 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_DBMS_VER (18)
Apr 13 09:36:42.304 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_DRIVER_VER (7)
Apr 13 09:36:42.304 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_ODBC_INTERFACE_CONFORMANCE (152)
Apr 13 09:36:42.304 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_QUOTED_IDENTIFIER_CASE (93)
Apr 13 09:36:42.304 INFO 9292 Connection::SQLGetInfoW: InfoType: SQL_SQL92_NUMERIC_VALUE_FUNCTIONS (159)
Apr 13 09:36:42.312 INFO 13308 Connection::SQLSetConnectAttr: Attribute: SQL_ATTR_TXN_ISOLATION (108)
Apr 13 09:36:42.346 INFO 13308 CInterface::SQLAllocHandle: Allocating statement handle.
Apr 13 09:36:42.346 INFO 13308 Statement::SQLGetStmtAttrW: Attribute: SQL_ATTR_APP_ROW_DESC (10010)
Apr 13 09:36:42.346 INFO 13308 Statement::SQLGetStmtAttrW: Attribute: SQL_ATTR_APP_PARAM_DESC (10011)
Apr 13 09:36:42.346 INFO 13308 Statement::SQLGetStmtAttrW: Attribute: SQL_ATTR_IMP_ROW_DESC (10012)
Apr 13 09:36:42.346 INFO 13308 Statement::SQLGetStmtAttrW: Attribute: SQL_ATTR_IMP_PARAM_DESC (10013)
Apr 13 09:36:42.346 INFO 13308 Connection::ExecuteCatalogFunction: SQLTables("hive", NULL, NULL, NULL)
Apr 13 09:36:42.346 INFO 13308 PRDataEngine::Prepare: Prepared Query: select * from "hive"."information_schema"."tables"
Apr 13 09:36:42.346 DEBUG 13308 PRQueryExecutor::PRQueryExecutor: Query string UTF-8 hex dump: 73656C656374202A2066726F6D202268697665222E22696E666F726D6174696F6E5F736368656D61222E227461626C657322
Apr 13 09:36:42.346 INFO 13308 PRResultSet::Execute: Query : select * from "hive"."information_schema"."tables"
Apr 13 09:36:42.622 INFO 13308 PRUtils::GetLocalHostName: Local host name obtained: <my_laptop_name>
Apr 13 09:36:42.622 INFO 13308 PRUtils::LogConnectResult:
2017-04-13 09:36:42 <my_laptop_name> tabprotosrv.exe DEBUG:LDAP Authentication: user=<user_name_here>|catalog=hive|ip_address=<ip_address>|result=success
Apr 13 09:36:42.623 ERROR 13308 PRUtils::ParseAndLogError: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} :
com.facebook.presto.sql.parser.SqlParser$1.syntaxError(SqlParser.java:45)
org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:540)
org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:301)
org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:124)
com.facebook.presto.sql.parser.SqlBaseParser.statement(SqlBaseParser.java:2439)
com.facebook.presto.sql.parser.SqlBaseParser.singleStatement(SqlBaseParser.java:233)
com.facebook.presto.sql.parser.SqlParser.invokeParser(SqlParser.java:92)
com.facebook.presto.sql.parser.SqlParser.createStatement(SqlParser.java:65)
com.facebook.presto.execution.SqlQueryManager.createQuery(SqlQueryManager.java:338)
com.facebook.presto.server.StatementResource$Query.<init>(StatementResource.java:329)
com.facebook.presto.server.StatementResource.createQuery(StatementResource.java:173)
sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:267)
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
com.facebook.presto.server.security.LdapFilter.doFilter(LdapFilter.java:166)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
io.airlift.http.server.TraceTokenFilter.doFilter(TraceTokenFilter.java:63)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
io.airlift.http.server.TimingFilter.doFilter(TimingFilter.java:52)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:395)
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182)
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
org.eclipse.jetty.server.Server.handle(Server.java:523)
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
java.lang.Thread.run(Thread.java:745)
Apr 13 09:36:42.624 ERROR 13308 DSIDataEngine::MakeNewMetadataResult: [Teradata][Presto] (1060) Presto Query Error: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} (1)
Apr 13 09:36:42.624 ERROR 13308 Statement::ExecuteCatalogFunction: [Teradata][Presto] (1060) Presto Query Error: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} (1)
Apr 13 09:36:42.625 INFO 13308 Connection::ExecuteCatalogFunction: SQLTables("hive", NULL, NULL, "'TABLE', 'VIEW', 'SYSTEM TABLE', 'GLOBAL TEMPORARY'")
Apr 13 09:36:42.625 INFO 13308 PRDataEngine::Prepare: Prepared Query: select * from "hive"."information_schema"."tables"
Apr 13 09:36:42.625 DEBUG 13308 PRQueryExecutor::PRQueryExecutor: Query string UTF-8 hex dump: 73656C656374202A2066726F6D202268697665222E22696E666F726D6174696F6E5F736368656D61222E227461626C657322
Apr 13 09:36:42.625 INFO 13308 PRResultSet::Execute: Query : select * from "hive"."information_schema"."tables"
Apr 13 09:36:42.665 ERROR 13308 PRUtils::ParseAndLogError: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} :
com.facebook.presto.sql.parser.SqlParser$1.syntaxError(SqlParser.java:45)
org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:540)
org.antlr.v4.runtime.DefaultErrorStrategy.reportInputMismatch(DefaultErrorStrategy.java:301)
org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:124)
com.facebook.presto.sql.parser.SqlBaseParser.statement(SqlBaseParser.java:2439)
com.facebook.presto.sql.parser.SqlBaseParser.singleStatement(SqlBaseParser.java:233)
com.facebook.presto.sql.parser.SqlParser.invokeParser(SqlParser.java:92)
com.facebook.presto.sql.parser.SqlParser.createStatement(SqlParser.java:65)
com.facebook.presto.execution.SqlQueryManager.createQuery(SqlQueryManager.java:338)
com.facebook.presto.server.StatementResource$Query.<init>(StatementResource.java:329)
com.facebook.presto.server.StatementResource.createQuery(StatementResource.java:173)
sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:267)
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)
com.facebook.presto.server.security.LdapFilter.doFilter(LdapFilter.java:166)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
io.airlift.http.server.TraceTokenFilter.doFilter(TraceTokenFilter.java:63)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
io.airlift.http.server.TimingFilter.doFilter(TimingFilter.java:52)
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676)
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:395)
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182)
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
org.eclipse.jetty.server.Server.handle(Server.java:523)
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
java.lang.Thread.run(Thread.java:745)
Apr 13 09:36:42.665 ERROR 13308 DSIDataEngine::MakeNewMetadataResult: [Teradata][Presto] (1060) Presto Query Error: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} (1)
Apr 13 09:36:42.666 ERROR 13308 Statement::ExecuteCatalogFunction: [Teradata][Presto] (1060) Presto Query Error: line 1:1: mismatched input '{' expecting {'(', 'SELECT', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'GRANT', 'REVOKE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'CALL', 'PREPARE', 'DEALLOCATE', 'EXECUTE'} (1)
Apr 13 09:36:42.667 INFO 13308 CInterface::SQLFreeHandle: Freeing statement handle.

----- end of cut -----

 

thanks

Enthusiast

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

@brianrickman,

 

a little bit better. I do not see warning/error messages but I still do not see any hive tables.

 

I enabled logs and found the following error. Could you please take a look on this gist because I can't insert part of error log here (for some reasons my reply disappears. tried two times)

 

https://gist.github.com/svart-ravn/c5a4f1e3e94de96c2612d25a50399f02

 

thanks

 

Teradata Employee

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

It looks like the driver is using a feature that Teradata added (support for very long prepared statements) which has not yet been merged to the open source version of Presto.  If you use the Teradata distribution of Presto, which you can download for free, it will work better with our ODBC driver.

 

http://www.teradata.com/products-and-services/presto-download/

Enthusiast

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

Thanks. I will try to change another distributive.

 

Also I checked logs when generated by testing connection in ODBC during set up "odbc data source" just to make sure that this check was successed.

And it was fine. As you can see query was executed successfully (also I tried both queries to run in presto-cli and both was fine). Are there any explanations why different tests/checks give different results: one - failed, second - was fine?

---------------------- cut --------------------------

Apr 13 16:37:45.060 INFO 22288 PRDriver::PRDriver:
Driver lib dir: C:\Program Files (x86)\Teradata Presto ODBC Driver\lib\
Driver lib file name: TeradataPrestoODBC32.dll
Apr 13 16:37:45.063 INFO 22288 DSDSNConfiguration::ParseDSNAttribute: DSN=Teradata Presto ODBC DSN
Apr 13 16:37:45.065 INFO 22288 ConfigDSN::ConfigDSNInternal: Modifying existing DSN: Teradata Presto ODBC DSN
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_NUMERIC_FUNCTIONS: 8384383
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_STRING_FUNCTIONS: 24445
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_TIMEDATE_FUNCTIONS: 950271
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_BIT_CONVERSIONS: 8417436
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_TINYINT_CONVERSIONS: 8417436
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_SMALLINT_CONVERSIONS: 8417436
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_INTEGER_CONVERSIONS: 8417436
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_BIGINT_CONVERSIONS: 8409228
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_REAL_CONVERSIONS: 8409288
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_DOUBLE_CONVERSIONS: 8417500
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_DECIMAL_CONVERSIONS: 8417436
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_WVARCHAR_CONVERSIONS: 10746076
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_WCHAR_CONVERSIONS: 10715136
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_VARBINARY_CONVERSIONS: 2048
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_DATE_CONVERSIONS: 8552448
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_TIME_CONVERSIONS: 8585216
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_TIMESTAMP_CONVERSIONS: 8617984
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_INTERVAL_YEAR_MONTH_CONVERSIONS: 8388608
Apr 13 16:37:46.992 DEBUG 22288 PRConnection::SetConnectionPropertyValues: DSI_CONN_SUPPORTED_SQL_INTERVAL_DAY_TIME_CONVERSIONS: 8388608
Apr 13 16:37:46.992 INFO 22288 PRConnection::InitializeCustomProperties: TERADATAPRESTO_HOST_ID properties found in DID file. Key: 13026, Value: Teradata Presto SQL Engine
Apr 13 16:37:46.992 INFO 22288 DSConnectionUtils::LogCallingApplicationInfo: C:\WINDOWS\syswow64\odbcad32.exe loaded the 32-bit driver.
Apr 13 16:37:46.992 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: AllowHostNameCNMismatch: 0
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: AllowSelfSignedServerCert: 1
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: AuthenticationType: LDAP Authentication
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: AutoIPD: 1
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: Catalog: hive
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: Description: Teradata Presto ODBC DSN
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: Driver: Teradata Presto ODBC Driver
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: DSN: Teradata Presto ODBC DSN
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: Host: <host>
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: Port: 8443
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: PWD: *****
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: Schema: default
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: SSL: 1
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: TimeZoneID:
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: TrustedCerts: C:\Program Files (x86)\Teradata Presto ODBC Driver\lib\cacerts.pem
Apr 13 16:37:46.993 DEBUG 22288 DSConnectionUtils::LogConnectionSettings: UID: <username>
Apr 13 16:37:46.996 INFO 22288 PRConnection::Connect: Current time zone from system: Europe/Warsaw
Apr 13 16:37:46.996 INFO 22288 PRDataEngine::Prepare: Prepared Query: select node_version from system.runtime.nodes where coordinator=true
Apr 13 16:37:46.996 DEBUG 22288 PRQueryExecutor::PRQueryExecutor: Query string UTF-8 hex dump: 73656C656374206E6F64655F76657273696F6E2066726F6D2073797374656D2E72756E74696D652E6E6F64657320776865726520636F6F7264696E61746F723D74727565
Apr 13 16:37:46.997 INFO 22288 PRResultSet::Execute: Query : select node_version from system.runtime.nodes where coordinator=true
Apr 13 16:37:47.929 INFO 22288 PRUtils::GetLocalHostName: Local host name obtained: <laptop_name>
Apr 13 16:37:47.929 INFO 22288 PRUtils::LogConnectResult:
2017-04-13 16:37:47 <laptop_name> odbcad32.exe DEBUG:LDAP Authentication: user=<username>|catalog=hive|ip_address=10.148.5.162|result=success
Apr 13 16:37:47.929 INFO 22288 PRResultSet::ExtractFieldsFromJsonDoc: Next URI: https://<hostname>:8443/v1/statement/20170413_143747_00054_gg27g/1
Apr 13 16:37:47.967 INFO 22288 PRResultSet::ExtractFieldsFromJsonDoc: Next URI: https://<hostname>:8443/v1/statement/20170413_143747_00054_gg27g/2
Apr 13 16:37:47.967 INFO 22288 PRResultSet::ExtractFieldsFromJsonDoc: Number of rows fetched: 1
Apr 13 16:37:47.967 INFO 22288 PRConnection::RetrieveServerVersion: Server version retrieved from server: 0.169
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_xPrestoUser: <username>
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_hostAndPort: <hostname>:8443
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_catalog: hive
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_schema: default
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_timezoneID: Europe/Warsaw
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_userAgent: Teradata Presto ODBC Driver
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_serverMajorVersion: 0
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_serverMinorVersion: 169
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_authType: LDAP Authentication
Apr 13 16:37:47.970 INFO 22288 PRConnection::LogSettings: m_distro: Teradata
Apr 13 16:37:47.970 INFO 22288 DSTestResultDialog::Initialize: Test connected successfully.

---- end of cut ----

 

thanks

Teradata Employee

Re: FW: connections issues of presto to tableau using Terdata ODBC driver

Most likely the failed test uses a prepared statement (with parameters), while the successful test uses a static statement (no parameters).