Я пытаюсь использовать ускоритель запросов 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 и снова запрашиваю вставленную таблицу, таблица остается пустой.