Получение драйверов odbc для работы с подсистемой Windows для Linux - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь настроить драйверы ODBC Teradata 16.20.00.54 для работы в Ubuntu (в подсистеме Windows для Linux). Я сталкивался с множеством эзотерических ошибок, поэтому мне интересно, возможно ли заставить это работать с WSL.

(1) Я скачал драйвер teradata для Ubuntu здесь

(2) Затем я следовал инструкциям по настройке драйверов ODBC здесь

Это мои настройки:

$ odbcinst -j
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/myusername/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

$ odbcinst -q -d
odbcinst: SQLGetPrivateProfileString failed with .

$ odbcinst -q -s
[<DSN_name>]

$ cat ~/.odbc.ini
[ODBC Data Sources]

Teradata ODBC DSN = Teradata Database ODBC Driver 16.20
<DSN_name> = DEVDB

[<DSN_name>]
Driver=/opt/teradata/client/ODBC_64/lib/tdataodbc_sb64.so
Description=Teradatadatabase
DBCName=DEVDB.mycompany.com
UID=XXXXXXX
PWD=XXXXXXX

$ cat /etc/odbcinst.ini

$ echo $ODBCINI
/home/myusername/.odbc.ini

Я очень неопытен с teradata, поэтому, вероятно, где-то есть проблема с моей конфигурацией.

Это сообщение об ошибке, которое я получаю:

$ isql DEVDB -v
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect

1 Ответ

0 голосов
/ 30 мая 2019

Я думаю, что вы интерпретировали пример конфигурации слишком буквально.Для DSN с именем DEVDB ваш .odbc.ini будет выглядеть примерно так:

[ODBC Data Sources]
DEVDB=Teradata Database ODBC Driver

[DEVDB]
Driver=/opt/teradata/client/ODBC_64/lib/tdataodbc_sb64.so
Description=Teradatadatabase
DBCName=DEVDB.mycompany.com
UID=XXXXXXX
PWD=XXXXXXX
...