#python #python-3.x #db2 #ibm-midrange
#python #python-3.x #db2 #ibm-средний уровень
Вопрос:
Я запускаю python 3 на iseries и хочу подключиться к локальной базе данных. Команда
import ibm_db
conn = ibm_db.connect('XXXX','YYYYY','ZZZZ')
успешно, но когда я запускаю
sql = "SELECT * FROM V40DTALIB.SCHOOL"
Я получаю сообщение об ошибке
SCHOOL in V40DTALIB type *FILE not found. SQLSTATE=42704 SQLCODE=-204
Файл есть, и учетные данные, которые я использую, авторизованы. Я думаю, это потому, что библиотека находится на IASP. Обычно это монтируется описанием задания профиля пользователя, но этого, очевидно, не происходит. Если я заменю файл на QGPL (в sysbase) Я не получаю эту ошибку.
Я бы хотел запустить SETASPGRP ASPGRPXXX.
Я пробовал
ibm_db.exec_immediate(conn, "call qcmdexc('SETASPGRP ASPGRP(IASPEXAM)')")
Exception: Trigger program or external routine detected an error. SQLSTATE=38501 SQLCODE=-443
Я не знаю, где искать дополнительную информацию или журналы заданий и так далее. У кого-нибудь есть подсказка?
Ответ №1:
Внимательно посмотрите на эту строку…
conn = ibm_db.connect('XXXX','YYYYY','ZZZZ')
Я считаю 'XXXX'
, что это имя базы данных. Если у вас есть IASP, у вас, вероятно, есть как минимум две базы данных. Убедитесь, что у вас есть правильный для IASP.
Комментарии:
1. Это сделало свое дело. Спасибо. Приятно видеть потоковую передачу данных.
2. @jimwatterson не забудьте отметить ответ как принятый.