これらの作業の両方:SQLAlchemyの:エンジンとの接続管理
sel = select([self.tbl])
rec = self.engine.execute(sel)
と
sel = select([self.tbl])
conn = self.engine.connect()
rec = conn.execute(sel)
根本的な違いは何ですか? the docsによると
これらの作業の両方:SQLAlchemyの:エンジンとの接続管理
sel = select([self.tbl])
rec = self.engine.execute(sel)
と
sel = select([self.tbl])
conn = self.engine.connect()
rec = conn.execute(sel)
根本的な違いは何ですか? the docsによると
:
connect()
エンジンは、データベースにSQLを発行するために直接使用することができます。
connection = engine.connect()
result = connection.execute("select username from users")
for row in result:
print("username:", row['username'])
connection.close()
接続はプロキシオブジェクト がためにある接続の場合、次のとおりです。最初にあなたがEngine.connect()メソッドを介して取得する接続リソースを、調達される最も一般的な方法実際のDBAPI接続。 DBAPI接続は、接続が作成された時点の接続プール から取得されます。
上記の手順は、エンジン自体のexecute()メソッドを使用して簡単な方法で行うことができる。
result = engine.execute("select username from users") for row in result:
print("username:", row['username'])
上記の場合、execute()メソッドは新しい 自身のConnectionは、そのオブジェクトに文 を実行し、ResultProxyを返します。この場合、 ResultProxyには、close_with_resultという特別なフラグが含まれています。 には、基になるDBAPIカーソルが閉じられたときに、接続オブジェクト自体も閉じられ、接続プールへのDBAPI 接続が返され、トランザクションリソース。