无法使用pyodbc python模块查询EXEC命令

2024-06-02 04:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pyodbc查询MSQLS数据库,在我尝试使用EXECUTE命令之前,每个数据库都可以正常工作

范例

querys= """
    EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'HARDWARE\DESCRIPTION\System\CentralProcessor\0', N'ProcessorNameString';
    """

我明白了

pyodbc.ProgrammingError: No results.  Previous SQL was not a query.

我也尝试使用ODBC方式

query= r'{call sys.xp_instance_regread ("HKEY_LOCAL_MACHINE", "SYSTEM\CurrentControlSet\services\pvscsi\Parameters\Device", "DriverParameter")}'

我得到

pyodbc.DataError: ('22018', '[22018] [Microsoft][ODBC Driver 17 for SQL Server]Invalid character value for cast specification (0) (SQLExecDirectW)')

有什么办法解决这个问题吗? 提前谢谢


Tags: instance数据库forexecutesqllocalsysmachine
1条回答
网友
1楼 · 发布于 2024-06-02 04:24:58

存储过程的参数包含反斜杠,因此必须在常规字符串文本中将它们加倍

" ... N'HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0', ... "

。。。或者使用“原始字符串”

r" ... N'HARDWARE\DESCRIPTION\System\CentralProcessor\0', ... "

相关问题 更多 >