如何在 Python 中检查我的 Snowflake 连接状态?

How do I check the status of my Snowflake connection in Python?

我正在使用 python 从 snowflake 查询数据。首先,我使用以下代码创建连接器 -

con = snowflake.connector.connect(
      user = myusername,
      pass = mypassword,
      account = accountname

)

当我 运行 con 时,我得到 <snowflake.connector.connection.SnowflakeConnection at 0x240a2e8b8b0>。然而,即使在我 运行 con.close() 之后,当我 运行 con 我仍然得到 <snowflake.connector.connection.SnowflakeConnection at 0x240a2e8b8b0>,即使连接已关闭。

如何检查 con 的状态以确定它是打开还是关闭?

<snowflake.connector.connection.SnowflakeConnection at 0x240a2e8b8b0> 是默认的 repr 打印连接,作为对象的名称 snowflake.connector.connection.SnowflakeConnection 和内存引用(它允许告诉两个相同的 tpyed 对象部分)。

所以给定你的对象是一个连接,它不会从 python 对象级别变得无效,因为底层连接已关闭,或者有异常等等。

Connection 对象描述未提及任何“状态”属性。

一般不需要状态。如果担心的话,您应该可以多次关闭它而没有副作用。如果你有一段时间没有使用它并且它已经超时,当你使用连接时,它应该抛出一个错误,你处理这个错误并且 re-try,如果错误是一种类型,则表明“连接是无效”你先建立一个新的连接。