我正在使用pymysql连接到一个数据库。我是数据库操作的新手。有没有一个状态码可以用来检查数据库是否处于打开/活动状态,比如db.status。
发布于 2017-12-26 10:25:13
根据我在源代码中看到的,这里有一个"connection“对象上的is_connected() method:
连接时,
返回True;否则返回False
import mysql.connector
cnx = mysql.connector.connect(user='scott', password='tiger',
host='127.0.0.1',
database='employees')
print(cnx.is_connected())我做了一个快速测试-连接到数据库,检查is_connected() -它返回True,然后停止MySQL并再次检查is_connected() -返回False。
发布于 2021-04-21 06:57:19
老帖子,但在这里评论,以防其他人偶然发现这一点。
来自pymysql文档:
ping(reconnect=True)
Check if the server is alive.
Parameters: reconnect – If the connection is closed, reconnect.
Raises: Error – If the connection is closed and reconnect=False.代码示例
connection = pymysql.connect(host='localhost', user='root', password='password')
connection.close()
>> connection is now closed
connection.ping(reconnect=False)
>> returns an error, connection is closed
connection.ping(reconnect=True)
>> connection is reconnectedhttps://pymysql.readthedocs.io/en/latest/modules/connections.html
发布于 2017-12-26 10:22:20
看起来您可以创建数据库对象并检查它是否已创建,如果未创建,则可以引发异常
尝试连接到一个明显错误的数据库,看看它抛出了什么错误,您可以在Try和except块中使用它。
我也是新手,所以任何人如果有更好的答案,请随时加入
https://stackoverflow.com/questions/47973320
复制相似问题