您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用pyodbc时,“多语句事务中不允许使用CREATE…语句”

使用pyodbc时,“多语句事务中不允许使用CREATE…语句”

建立连接时,pyodbc的认设置autocommit=False符合Python的DB- API规范。因此,当执行第一个sql语句时,ODBC将开始有效的数据库事务,直到Python代码对连接执行a.commit()或a为止.rollback()

sql Server不允许CREATE DATABASE在这样的事务中执行,因此我们需要autocommit在发出此类语句之前以模式进行连接。打开连接时可以完成…

conn = pyodbc.connect(conn_str, autocommit=True)

…或者autocommit如果已经建立连接,则切换到模式:

conn = pyodbc.connect(conn_str)  # autocommit=False by default
# ...
conn.autocommit = True
conn.execute("CREATE DATABASE MyNewDatabase")
其他 2022/1/1 18:41:48 有418人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶