【发布时间】:2023-03-10 07:05:02
【问题描述】:
我正在尝试获取我正在通过 pyodbc 运行的“alter”语句的结果。
我的代码:
...
connection = pyodbc.connect(connection_string, autocommit=True)
cursor = connection.cursor()
query = "ALTER INDEX index_name ON schema.table REBUILD"
cursor.execute(query)
...
由于这不是查询,我不能使用curosr.fetchall()。如何找到我的陈述结果?
某些索引会失败,因为运行脚本的用户没有权限(或者因为其他一些原因),我想显示服务器抛出的错误消息(光标没有引发异常) .
【问题讨论】:
-
我无法重现您的问题。当我尝试以没有足够权限的用户身份运行该命令时(即不是
db_ddladmin),我得到“pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL服务器]找不到对象“dbo.MillionRows”,因为它不存在或您没有权限。(1088) (SQLExecDirectW)')"。
标签: python sql-server pyodbc