Сбой python.exe при выполнении запроса с сервера
Я пытаюсь выполнить крошечный MDX-запрос с сервера службы анализа на работе. Сервер предоставляет данные через ms ole db, а не спецификацию odbc, поэтому я использую библиотеку adodbapi.
Вот функция, которую я использую, чтобы получить результат от выполнения запроса:
def mdx_query (query):
conn = adodbapi.connect("PROVIDER=MSOLAP; \
persist security info=true; \
Data Source=***; \
initial catalog=analyse;")
cursor = conn.cursor()
try:
cursor.execute(query)
result = cursor.fetchone()
except (adodbapi.Error, adodbapi.Warning) as e:
print(e)
cursor.close()
del cursor
conn.close()
del conn
return result
Примитивные запросы с одним значением прекрасно работают:
select
[Physical Stock PCS] on 0,
[Goods].[Categories].[ALL] on 1
from [analyse]
Если я получил синтаксическую ошибку, он также просто дал мне сообщение adodbapi.Error, и это нормально.
Но если я попытаюсь выполнить более сложные запросы, такие как:
select
[Physical Stock PCS] on 0,
[Goods].[Categories].[Level 01] on 1
from [analyse]
[Товары].[Категории].[Уровень 01] имеют более одного измерения, и я всегда получаю сообщение python.exe APPCRASH, несмотря ни на что.
Я пробовал оба Python 2 и 3, работающие в режиме jupyter и консоли, метод pandas.read_sql_query. Результат всегда один и тот же - я получаю окно APPCRASH.
Как вылечить сбои и, наконец, выполнить сложные запросы? Любая помощь приветствуется!
UPD: здесь окно с ошибкой. Не могу изменить его на EN. Ошибка Appcrash