Сбой 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

0 ответов

Другие вопросы по тегам