适用于 IBM iSeries AS400 版本 V7R1 的 ODBC 驱动程序

适用于 IBM iSeries AS400 版本 V7R1 的 ODBC 驱动程序

我正在尝试在 Linux Red Hat(Intel 64 位 arch)上使用 pyodbc(ODBC 的 Python 接口)连接到 IBM iSeries。

以下是我所做的:

  1. 安装了 gcc-c++(编译 pyodbc 所需)、unixODBC、unixODBC-devel

  2. 已安装iSeriesAccess-6.1.0-1.0.x86_64.rpm:

sudo rpm -ivh http://ftpmirror.your.org/pub/misc/ftp.software.ibm.com/as400/iSeriesAccess-6.1.0-1.0.x86_64.rpm --nodeps
  1. 将驱动程序附加到 unixODBC
odbcinst -i -d -f /opt/ibm/iSeriesAccess/unixodbcregistration64
  1. 由于我对库有一些问题,所以我对它们进行了符号链接:
sudo ln -s /opt/ibm/iSeriesAccess/lib64/libcwb* /usr/lib/
  1. 我配置了 ODBC 数据源来访问 AS400 的数据库:/etc/odbc.ini:
[AS400]
Description = Database iSeries
Driver = iSeries Access ODBC Driver
System = XXX.XXX.XXX.XXX
Port = 8471
UserID = XXXXXX
Password = XXXXXX
Naming = 1
Database = XXXXXXXXX
ConnectionType = 0
CommitMode = 2
BlockFetch = 1
BlockSizeKB = 512
  1. 我测试了连接:
> isql -v AS400

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

我能够连接,但是在运行任何 SQL 查询时我都会得到Segmentation fault (core dumped)

通过检查 /var/log/messages,我看到了以下内容:

isql[5767]: segfault at 7f6fdb30020e ip 00007f6ed372ff71 sp 00007ffcce17d5f0 error 4 in libcwbcore.so[7f6ed369e000+11c000]

我想重新安装不同的驱动程序(例如 iSeriesAccess-7.1.0-1.0x86_64.rpm),但我找不到它。

答案1

该工具不再称为 iSeries Access,而是 IBM i Access Client Solutions。这里,然后向下滚动到页面底部的 Linux 应用程序包。但是,页面的最后一行显示可选包只能通过 ESS 获得。因此,您或您的管理员需要为您获取该包。

相关内容