Odbc
IBM iSeries AS400 版本 V7R1 的 ODBC 驅動程序
我正在嘗試在 Linux Red Hat(英特爾 64 位架構)上使用 pyodbc(用於 ODBC 的 Python 介面)連接到 IBM iSeries。
以下是我所做的:
- 安裝gcc-c++(編譯pyodbc需要)、unixODBC、unixODBC-devel
- 安裝 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
- 將驅動程序附加到 unixODBC
odbcinst -i -d -f /opt/ibm/iSeriesAccess/unixodbcregistration64
- 由於我對庫有一些問題,我符號連結它們:
sudo ln -s /opt/ibm/iSeriesAccess/lib64/libcwb* /usr/lib/
- 我配置了 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
- 我測試了連接:
> 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),但我找不到它。
該工具不再稱為 iSeries Access,而是 IBM i Access Client Solutions。看這裡,然後向下滾動到 Linux 應用程序包的頁面底部。但是,頁面上的最後一行說可選包只能通過 ESS 獲得。因此,您或您的管理員需要為您獲取該資訊。