8

I have an instance of Teradata up and running from VMWare Workstation Player on my local machine. I am able to connect to that Teradata database using the default login DBC via putty. I have created another login dbc_test, using the dbc_test also I can connect via putty. I am configuring the same connection details into the ODBC Database Administrator. But the connection is not establishing successfully via ODBC Database Administrator. I need to set this connection so that the Teradata can connect to the Informatica Cloud.

My Question is I want to know where I am getting it wrong. How to set up the connection successfully via ODBC Database Administrator

enter image description here

Teja Goud Kandula
  • 1,462
  • 13
  • 26
  • Are you sure you have the correct authentication mechanism in your ODBC connection? – Andrew Feb 08 '21 at 19:18
  • 1
    With v17 of the ODBC driver you are no longer permitted to save a password. So if you don't want to have to supply a password at connection time you have to use `tdwallet` and put the "wallet string" key name in the DSN. See the [documentation](https://docs.teradata.com/r/g5M1B6Zfdg6957MmQLY3Tw/BfENGesKs~8ctP~FAdWrlg). This may be a bug or limitation of the "Test" button in the setup dialog. Try saving the DSN with no `Password Wallet String` and using the `tdxodbc` sample test program (in the `Program Files\Teradata\client\17.00\bin` folder) to verify the connection. – Fred Feb 08 '21 at 21:36

2 Answers2

6

Starting from Teradata 17 onwards, TD doesn't allow for testing the connection in ODBC. So in the ODBC Data Source Administrator > User DSN > Add > Teradata Database ODBC Driver 17.00

Click on Finish It will give a pop up like this: enter image description here

Here the mandatory fields are Name, Name or IP Address (server IP address) and Username. Enter the Name, Name or IP Address and Username. Keep the Name that you have provided here handy. Then the OK button will be enabled. Click on OK.

enter image description here

Then Open command prompt and go to the location where txodbc.exe is present. Use this command cd C:\Program Files\Teradata\Client\17.00\bin

Now let's test the connection using txodbc Enter this command from the command prompt. tdxodbc -c SQLDriverConnect -C "DSN=NameOftheConnection;UID=Username;pwd=password;"

If your connection is successful you should see something like this: enter image description here

Here the ODBC connection is being tested by using the utility txodbc. TD 17 onwards we can hit test button to test the connection.

To test your whether everything worked or not, enter the command Select CURRENT_USER; The Teradata database should return the current logged in user name.

Teja Goud Kandula
  • 1,462
  • 13
  • 26
1

I might be out of date with this, but I built a docker image to do just this.

The problem is that you need the Teradata ODBC drivers, rather than the (probably) open ODBC that you're using.

These can be downloaded from here (with a user) - There is a README but I don't have a user to see it

For reference, this is a repo I used originally but that was an older version of the drivers so will need fixing

KeepCalmAndCarryOn
  • 8,817
  • 2
  • 32
  • 47
  • 1
    I have been using the ODBC driver only. I have it already installed. But still I am facing the same issue. – Teja Goud Kandula Feb 08 '21 at 12:52
  • did you set the environment variables? `ENV ODBCHOME=/opt/teradata/client/ODBC_64/ ODBCINI=/opt/teradata/client/ODBC_64/odbc.ini` – KeepCalmAndCarryOn Feb 08 '21 at 19:32
  • There is also this https://docs.teradata.com/r/xM8ikCYjHVqRVRRtAf6b~g/oPxlRgjADPHlPssWn6HArw - You also might need to check your `odbcinst.ini` and make sure your ODBC is pointing to it with `$ODBCHOME` – KeepCalmAndCarryOn Feb 08 '21 at 19:49