是否可以在Ubuntu上使用Netezza ODBC驱动程序?

时间:2015-03-12 22:49:15

标签: ubuntu odbc netezza unixodbc

SUSE和RedHat正式支持Netezza ODBC驱动程序。我正在尝试让驱动程序在Ubuntu 14.04上运行。

我一直在测试连接:

sudo isql -v NZSQL

最初回归:

[unixODBC]Error occurred while loading translation library

我尝试通过运行来调试:

sudo strace isql -v NZSQL

这表明isql正在搜索不存在的libc.mo文件。我能够通过将locale设置为en_AU并为该libc.mo文件创建一些符号链接来解决此问题。

现在isql因通讯超时而失败。

目前

sudo strace isql -v NZSQL

上挂了几分钟
connect(3, {sa_family=AF_INET, sin_port=htons(5480), sin_addr=inet_addr("SERVER-IP-HERE")}, 16) = -1 EINPROGRESS (Operation now in progress)
poll([{fd=3, events=POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT|POLLERR|POLLHUP}])

然后以

失败
sendto(3, "\0\0\0\10\0\1\0\3", 8, MSG_NOSIGNAL, NULL, 0) = -1 ETIMEDOUT (Connection timed out)
sendto(3, "X", 1, MSG_NOSIGNAL, NULL, 0) = -1 EPIPE (Broken pipe)
这是一个傻瓜的差事吗?有人在Ubuntu上使用Netezza ODBC驱动程序取得了成功吗?关于我如何解决这个问题的任何建议?

1 个答案:

答案 0 :(得分:0)

简短的回答是肯定的。我目前正在Ubuntu 14.04上运行Netezza ODBC驱动程序。

您可能需要为翻译(例如英语)文件创建符号链接,正如我在OP中提到的那样:

I tried to debug by running:
sudo strace isql -v NZSQL
This showed that isql was searching for a non-existent libc.mo file. I was able to resolve this by setting locale to en_AU and creating some symlinks to that libc.mo file.

上述超时是由于无关的防火墙问题 - Netezza服务器拒绝从我的IP连接,这与驱动程序无关。