Ссылка на две таблицы из разных соединений с БД в одном Query in Python с SQlite3 и pyodbc - PullRequest
0 голосов
/ 06 декабря 2018

Я работаю с Python 3.6 в Windows. У меня есть два разных соединения с БД:

conn = pyodbc.connect(DSN=..., autocommit=True, USER="....", PWD="....")
conn2 = sqlite3.connect("Path to DB")

Оба работают нормально.

Теперь я хочу сослаться на оба соединения в одном запросе:

    cursor = conn.cursor()
    cursor.execute("""SELECT link_id FROM pyodbc db 
                       WHERE link_id1 IN (SELECT link_id1 FROM sqlite3 db)""")
    rows = cursor.fetchall()
    return rows

в этом запросе выдает ошибку, что столбец из sqlite3 db не может быть найден.

Я уже попытался выполнить подзапрос, вызвав его с определением:

    cursor = conn.cursor()
    cursor.execute("""SELECT link_id FROM pyodbc db 
                       WHERE link_id1 IN {}""".format(get_data_from_sqlite3_db()))
    rows = cursor.fetchall()
    return rows

Это сработало, но проблема в длине запроса.функция get_data_from_sqlite3_db () возвращает мне набор значений.если я хочу выполнить запрос с более чем 10000 значениями, это выдает ошибку, что запрос слишком длинный.Поэтому я думаю, что должен использовать функцию SELECT подзапроса.

Есть ли возможность выполнить оба (conn & conn2) в одном запросе?

Спасибо за помощь!

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