使odbc驱动程序与Linux的Windows子系统一起使用

时间:2019-05-30 16:55:47

标签: ubuntu teradata unixodbc

我正在尝试配置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

1 个答案:

答案 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