我正在尝试配置Teradata 16.20.00.54 ODBC驱动程序以在Ubuntu(在Linux的Windows子系统下)上工作。我一直遇到很多深奥的错误,所以我想知道是否有可能将其与WSL配合使用。
(1)我为ubuntu here下载了teradata驱动程序
(2)然后我按照说明配置ODBC驱动程序here
这是我的设置:
$ 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
答案 0 :(得分:0)
我认为您对配置示例的解释过于真实。对于名为DEVDB的DSN,您的.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