无法使用 pyodbc python 模块查询 EXEC 命令
can't query EXEC command with pyodbc python module
我正在使用 pyodbc 查询 MSQLS 数据库,在我尝试使用 EXECUTE 命令之前一切正常
例子
querys= """
EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'HARDWARE\DESCRIPTION\System\CentralProcessor[=11=]', 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)')
有解决此问题的想法吗?
提前致谢
存储过程的参数包含反斜杠,因此您必须在常规字符串文字中将它们加倍...
" ... N'HARDWARE\DESCRIPTION\System\CentralProcessor\0', ... "
...或使用“原始字符串”
r" ... N'HARDWARE\DESCRIPTION\System\CentralProcessor[=11=]', ... "
我正在使用 pyodbc 查询 MSQLS 数据库,在我尝试使用 EXECUTE 命令之前一切正常
例子
querys= """
EXEC sys.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'HARDWARE\DESCRIPTION\System\CentralProcessor[=11=]', 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)')
有解决此问题的想法吗? 提前致谢
存储过程的参数包含反斜杠,因此您必须在常规字符串文字中将它们加倍...
" ... N'HARDWARE\DESCRIPTION\System\CentralProcessor\0', ... "
...或使用“原始字符串”
r" ... N'HARDWARE\DESCRIPTION\System\CentralProcessor[=11=]', ... "