Я работаю с 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) в одном запросе?
Спасибо за помощь!