我正在使用pymysql连接数据库。我是数据库操作的新手。是否有可用于检查数据库是否处于打开/活动状态的状态代码,如db.status。
答案 0 :(得分:4)
根据我在源代码中看到的,“连接”对象上有is_connected()
method:
连接时返回True;否则为假
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()
- 返回{{1} }。
答案 1 :(得分:0)
旧帖子,但在这里发表评论以防其他人偶然发现。
来自 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 reconnected
https://pymysql.readthedocs.io/en/latest/modules/connections.html
答案 2 :(得分:-1)
看起来你可以创建数据库对象并检查它是否已经创建,如果它没有被创建你就可以引发异常
尝试连接到一个明显错误的数据库,看看它抛出了什么错误,你可以在try和except块中使用它
我对此也是新手,所以任何有更好答案的人都可以随时加入