Error Connecting Knime to terada

Hello community
I have this error trying to connect to Teradata, can anyone help me to solve this, please?

I already installed the path

Added the driver preferences

and set the connection

Once the node is executed brings me this error:

ERROR DB Connector 3:1 Execute failed: [Teradata JDBC Driver] [TeraJDBC 20.00.00.11] [Error 1000] [SQLState 08S01] Login failure for Connection to teradata Sun Oct 01 11:29:38 COT 2023 socket orig=teradata cid=1dd9ce05 sess=0 java.net.UnknownHostException: Host desconocido (teradata) at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(Unknown Source) at java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source) at java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source) at java.base/java.net.InetAddress.getAllByName0(Unknown Source) at java.base/java.net.InetAddress.getAllByName(Unknown Source) at java.base/java.net.InetAddress.getAllByName(Unknown Source) at com.teradata.jdbc.jdbc_4.io.TDNetworkIOIF$Lookup.doLookup(TDNetworkIOIF.java:240) at com.teradata.jdbc.jdbc_4.io.TDNetworkIOIF$Lookup.getAddresses(TDNetworkIOIF.java:278) at com.teradata.jdbc.jdbc_4.io.TDNetworkIOIF.connectToHost(TDNetworkIOIF.java:458) at com.teradata.jdbc.jdbc_4.io.TDNetworkIOIF.createSocketConnection(TDNetworkIOIF.java:186) at com.teradata.jdbc.jdbc_4.io.TDNetworkIOIF.createIO(TDNetworkIOIF.java:177) at com.teradata.jdbc.jdbc.GenericTeradataConnection.(GenericTeradataConnection.java:339) at com.teradata.jdbc.jdbc_4.TDSession.(TDSession.java:180) at com.teradata.jdbc.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:63) at com.teradata.jdbc.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:53) at com.teradata.jdbc.TeraDriver.doConnect(TeraDriver.java:231) at com.teradata.jdbc.TeraDriver.connect(TeraDriver.java:164) at org.knime.database.connection.UrlDBConnectionController$ControlledDriver.connect(UrlDBConnectionController.java:103) at org.knime.database.connection.UrlDBConnectionController.connect(UrlDBConnectionController.java:368) at org.knime.database.connection.UserDBConnectionController.connect(UserDBConnectionController.java:302) at org.knime.database.connection.UrlDBConnectionController.createConnection(UrlDBConnectionController.java:348) at org.knime.database.connection.AbstractConnectionProvider.createConnection(AbstractConnectionProvider.java:103) at org.knime.database.connection.impl.DBConnectionManager.lambda$4(DBConnectionManager.java:594) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)

Kind regards

Edgar

Hi @Fercho73 -

Are you sure that the Database URL you’ve provided is correct? Oftentimes what’s provided is an IP address, but yours looks more like a generic connection string.

Thanks scott, What could be an example of the database url?

Scott, there’s any chance to have direct contact with you or someone else?

Hi Scott,

I think the problem could be that I’m not really sure what kind of connection should I use according to the Examples of Teradata JDBC Driver Connection URL provided by Teradata on its own webpage.

According to your suggestion, I put the IP into the option I show you, but a new error appears.

Execute failed: Selected JDBC driver does not support given JDBC url.

thanks a lot I already connected to teradata.

Glad you were able to figure it out. What turned out to be the problem?

Hi scott it was the database URL. I should used the Teradata JDBC Driver Connection URL for Two or more connection parameters.
jdbc:teradata://DatabaseServerName /ParameterName =Value ,ParameterName =Value

My parameters are, DATABASE, USER and, PASSWORD.

Also, I changed the database dialect to Microsoft SQL server and initially, it executed a simple query.

Now I’m trying a more complex query that I’ve already used in other apps but this time I have this error message.

[Teradata Database] [TeraJDBC 20.00.00.11] [Error 3707] [SQLState 42000] Syntax error, expected something like a ‘SUCCEEDS’ keyword or a ‘MEETS’ keyword or a ‘PRECEDES’ keyword or a ‘BETWEEN’ keyword or an ‘IN’ keyword between the word ‘ACUERDO_COMPENSACI’ and ‘?’.

I´ve changed the dialect to mySQL, but it happens again. I think its a matter of tilde o accent marks
It seems like it can’t read words like compensación.

which dialect should I use to fix this?

Kind regards

edgar

Hi Scott,

this is a simple query to show you what happened

select “ACUERDO_COMPENSACI�N” from"PROD_DWH_CONSULTA".“PI_DERIVADOS_415”

I’ve found that the node, once fletched the columns on the table I´m working on, has changed the character ó for an @, “Compensaci@n” instead “compensación”.

once run the node give me the message

“[Teradata Database] [TeraJDBC 20.00.00.11] [Error 5628] [SQLState HY000] Column ACUERDO_COMPENSACI?N not found in PROD_DWH_CONSULTA.PI_DERIVADOS_415.”

the thing is that running this with the Teradata SQL assistant, works perfectly.

Thanks

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.