Я пытаюсь подключиться к IBM iSeries с помощью pyodbc, интерфейса Python для ODBC, в Linux Red Hat (Intel 64bit arch
Я сделал следующее:
Установил 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
odbcinst -i -d -f /opt/ibm/iSeriesAccess/unixodbcregistration64
sudo ln -s /opt/ibm/iSeriesAccess/lib64/libcwb* /usr/lib/
[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-запроса я получаю Ошибка сегментации (дамп ядра)
.
Путем проверки / 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 Доступом, но Клиентскими Решениями для Доступа IBM i. Посмотрите здесь и прокрутите вниз к концу страницы для Пакета приложений Linux. Но, последняя строка на странице говорит, что дополнительные пакеты только доступны через ESS. Таким образом, Вы или Ваш администратор должны будете получить это для Вас.