Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
连接上的SQLAlchemy(python)_Python_Sql_Sqlalchemy - Fatal编程技术网

连接上的SQLAlchemy(python)

连接上的SQLAlchemy(python),python,sql,sqlalchemy,Python,Sql,Sqlalchemy,我知道,对于标准的MySQLdb驱动程序,您通常使用with语句来确保连接是通过\uuuuuuuuuu关闭的 SQLAlchemy会话或引擎是否需要与之等效的with语句?或者手动超时关闭连接是否足以满足SQLAlchemy的要求?以下是文档中的一段引用: 大多数web框架都包含用于建立单个 会话,与正确构造的请求关联 并在请求结束时进行相应的删除。这样的 基础设施包括诸如Alchemy之类的产品,例如 结合Flask web框架使用,以及 Zope SQLAlchemy,与金字塔和Zope结合

我知道,对于标准的
MySQLdb
驱动程序,您通常使用
with
语句来确保连接是通过
\uuuuuuuuuu
关闭的


SQLAlchemy
会话
或引擎是否需要与之等效的
with
语句?或者手动超时关闭连接是否足以满足SQLAlchemy的要求?

以下是文档中的一段引用:

大多数web框架都包含用于建立单个 会话,与正确构造的请求关联 并在请求结束时进行相应的删除。这样的 基础设施包括诸如Alchemy之类的产品,例如 结合Flask web框架使用,以及 Zope SQLAlchemy,与金字塔和Zope结合使用 框架。SQLAlchemy强烈建议使用这些产品 如有可能

在集成库不可用的情况下, SQLAlchemy包含自己的“助手”类,称为作用域_会话

看来这就是你所说的。关于如何使用作用域会话的讨论非常好。基本上,您可以定义何时打开会话以及何时关闭会话(请参阅):


希望对您有所帮助。

您要查找的短语是“”,它是一个遵循属性命名约定的对象,需要在
with
语句中使用。请参阅文档中有关使用发动机连接上下文管理器的内容:

with engine.begin() as connection:
    r1 = connection.execute(table1.select())
    connection.execute(table1.insert(), col1=7, col2='this is some data')
据我所知,会话对象本身没有这样的功能

with engine.begin() as connection:
    r1 = connection.execute(table1.select())
    connection.execute(table1.insert(), col1=7, col2='this is some data')