首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >stdout pymssql到变量

stdout pymssql到变量
EN

Stack Overflow用户
提问于 2016-06-14 10:49:34
回答 1查看 331关注 0票数 1

我试图检索运行中的结果表单

代码语言:javascript
复制
import pymssql
conn = pymssql.connect(server='IP', user='domain\user', password='PSWD', tds_version='8.0')
cursor = conn.cursor()
cursor.execute("EXEC msdb.dbo.sp_start_job @job_name = 'jobname'")

当它将作业添加到提示以进行处理时,它不会返回任何内容,但是当作业没有运行时,它将返回类似于测试用例的内容。

代码语言:javascript
复制
Traceback (most recent call last):
  File "shared/python3", line 85, in <module>
    cursor.execute("EXEC msdb.dbo.sp_start_job @job_name = ''")
  File "pymssql.pyx", line 467, in pymssql.Cursor.execute (pymssql.c:7533)
pymssql.OperationalError: (14262, "The specified @job_name ('') does not exist.DB-Lib error message 14262, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\n")

在这种情况下,错误指出Job_name不存在。我想要做的是把结果放在一个字符串变量上,我可以解析这个变量来控制错误.

我试过这样做:

代码语言:javascript
复制
import sys

# Store the reference, in case you want to show things again in standard output
old_stdout = sys.stdout

# This variable will store everything that is sent to the standard output
result = StringIO()
sys.stdout = result

# Here we can call anything we like, like external modules, and everything that they will send to standard output will be stored on "result"
cursor.execute("EXEC msdb.dbo.sp_start_job @job_name = 'jobname'")

# Redirect again the std output to screen
sys.stdout = old_stdout

# Then, get the stdout like a string and process it!
result_string = result.getvalue()
process_string(result_string)

链接。但没能让它起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-15 17:02:51

因为您没有处理作业名称不存在时发生的异常,所以您正在看到跟踪。如果要捕获错误消息,只需捕获异常即可。作为一个通用的例子,而不是仅仅做

代码语言:javascript
复制
crsr.execute(sql)

你可以

代码语言:javascript
复制
try:
    crsr.execute(sql)
except Exception as e:
    (error_code, error_message) = e

然后使用error_codeerror_message值将它们写入日志文件,或将它们发送到控制台或其他任何地方。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37809872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档