python - 使用 python 从 Pyodbc 获取存储过程的输出
问题描述
我正在尝试从 Python 执行存储过程,但是当我运行它时,我无法从游标中获取输出。
import pyodbc
import math
import requests
import pandas as pd
cnx = pyodbc.connect('DRIVER={SQL Server};SERVER=xxxx;DATABASE=xxxx;UID=xxxxx;PWD=Minonja')
SQL_send_data="""
DECLARE
@messageStatus nvarchar(200)
SELECT @messageStatus = N'@messageStatus'
EXEC [cvm].[CVMSendSms_sp]
@userId = N'PT180209.1100.628362',
@codeSms = 79,
@messageStatus = @messageStatus OUTPUT,
@date = '',
@amount = N'0'
SELECT convert(varchar,@messageStatus) as reponse
"""
cursor = cnx.cursor()
cursor.execute(SQL_send_data)
cursor.fetchval()
print(cursor)
cnx.commit()
cursor.close()
我收到以下错误:
ProgrammingError: 没有结果。以前的 SQL 不是查询。
请帮忙!我尝试了很多方法,但我无法修复此错误
解决方案
推荐阅读
- python - Discord.py 链接周围有方括号
- javascript - 读取文件并动态修改变量
- javascript - 如何在模态对话框内将图像添加到画布绘制
- angular - 如何使用 rxjs 顺序加载数据?在每个序列中可能有几个调用
- javascript - 将 HTML 表单操作链接到节点 js 函数
- css - 如果画布没有显示在视口中,它消耗的资源是否与视口内的画布相同?
- tomcat - 使用 Lucene 索引通过 tomcat 部署为 WAR 文件的 Apache Jena Fuseki 服务器
- java - Selenium 如何单击列表中的每个相同按钮并提交表单
- javascript - 即使函数立即返回,等待异步函数也会暂停执行
- sas - SAS中单个值的多个操作?