Есть ли способ использовать ускоритель запросов IBM из Python? - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь использовать ускоритель запросов IBM, используя библиотеку IBM_DB в Python.

Для запроса вставки я могу сделать это в доступе, добавив «установить текущее ускорение запроса = включено;»утверждение в верхней части кода SQL, сгенерированного путем доступа. Я также могу удаленно запрашивать базу данных IBM из студии управления SQL Server, используя оператор (execute .... At), добавив эту же строку над моим оператором вставки. Однако, когда я пытаюсь сделать это в Python с использованием библиотеки IBM_DB, оказывается, что мой оператор вставки никогда не выполняется.

Я использую что-то вроде этого:

import ibm_db
conn = ibm_db.connect("database","username","password")
stmt = ibm_db.exec_immediate(conn, sql_statement)

Переменная sql_statementстрока, содержащая мой SQL-кодКод SQL вставляется из оператора выбора. Когда я запускаю этот код без строки ускорения запросов выше, он работает нормально. Однако добавление строки «установить текущий запрос ускорения = включен», по-видимому, приводит к тому, что мой запрос не запускается.

Я ожидаю, что мой запрос будет выполняться так же, как и строка «установить текущий запрос ускорения = включен»без этого, только быстрее. Это результат, который я получаю, когда добавляю эту строку в access или в оператор, выполняемый в DB2 удаленно из sql server management studio. Когда я запрашиваю таблицу, вставленную с использованием IBM_DB из Python, она показывает ожидаемые результаты, когда у меня нет линии ускорения вверху. Когда я добавляю строку ускорения, запускаю код Python и снова запрашиваю вставленную таблицу, таблица остается пустой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...