This article describes configuration checks, tests to run, and information to gather for support when troubleshooting problems with Teradata connections on Linux from Revolution R Enterprise.
Check installed level of unixODBC driver manager.
This command should return nothing as RRE and Teradata require unixODBC 2.3.1 or 2.3.2 which must be built and installed from source, not RPM.
Check Teradata testdsn test connection:
Check versions and links of odbc-related libraries installed on the system:
Check ODBCINI and ODBCINSTINI environment variables, if set, to ensure they point to the intended odbc.ini and odbcinst.ini configuration files.
Generally, if set at all, they should point to /etc/odbc.ini and /etc/odbcinst.ini.
Set the environment variable ODBCINST to point to /etc/odbcinst.ini
Try two different approaches to connecting to the database from Revolution R code
If there is any problem running these commands or the test code, collect all output of the tests for support to review.
Check installed level of unixODBC driver manager.
# rpm -qa | grep -i unixodbc
This command should return nothing as RRE and Teradata require unixODBC 2.3.1 or 2.3.2 which must be built and installed from source, not RPM.
# isql --version
Check Teradata testdsn test connection:
# 'isql -v testdsn dbc dbc
Check versions and links of odbc-related libraries installed on the system:
# ls -al /usr/lib64 | grep -i odbc
Check ODBCINI and ODBCINSTINI environment variables, if set, to ensure they point to the intended odbc.ini and odbcinst.ini configuration files.
# env | grep -i odbc
Generally, if set at all, they should point to /etc/odbc.ini and /etc/odbcinst.ini.
Set the environment variable ODBCINST to point to /etc/odbcinst.ini
Try two different approaches to connecting to the database from Revolution R code
#No DSN
rxSetComputeContext("local")
SQL <- "SELECT * FROM dbc.dbcinfo"
DS<- RxOdbcData(sqlQuery = SQL, connectionString = "DRIVER=Teradata;DBCNAME=DbMachineNameOrIP;UID=RevoTester;PWD=RevoTester;")
rxImport(DS)
#With DSN
rxSetComputeContext("local")
SQL <- "SELECT * FROM dbc.dbcinfo"
DS<- RxOdbcData(sqlQuery = SQL, connectionString = "DSN=testdsn;UID=SomeUser;PWD=SomePwd;")
rxImport(DS)
If there is any problem running these commands or the test code, collect all output of the tests for support to review.