2016-12-08 3 views

ответ

0

По the docs:

  • О connect()

Двигатель может быть использован непосредственно для выдачи SQL в базе данных. Наиболее общий путь первого заготовить ресурс соединения, который вы получаете с помощью метода Engine.connect():

connection = engine.connect() 
result = connection.execute("select username from users") 
for row in result: 
    print("username:", row['username']) 
connection.close() 

соединения является экземпляром Connection, который является прокси-объектом для фактическое соединение DBAPI. Соединение DBAPI извлекается из пула подключений в момент создания соединения.

  • О execute()

выше процедура может быть выполнена в сокращенном образом с помощью метода Execute() самого двигателя:

result = engine.execute("select username from users") for row in result: 
    print("username:", row['username']) 

Где выше, метод execute() приобретает новый Соединение по своему принадлежит, выполняет оператор с этим объектом и возвращает ResultProxy. В этом случае ResultProxy содержит специальный флаг, известный как close_with_result, который указывает, что когда его базовый курсор DBAPI закрыт, сам объект соединения также закрыт, что снова возвращает соединение DBAPI с пулом соединений, освобождая транзакционные Ресурсы.

Смежные вопросы