来自pyodbc的sql print语句

ijk*_*ijk 7 t-sql sql-server pyodbc python-db-api

如何从中获取输出sql_query

import pyodbc

sql_query = "print 'Hello World'"

conn = pyodbc.connect("DRIVER={SQL Server};
SERVER=myserver;
DATABASE=mydatabase;
UID=myusername;
PWD=mypassword")

cur = conn.cursor()

cur.execute(sql_query)
cur.commit()

for row in cursor.fetchall():
    print row
Run Code Online (Sandbox Code Playgroud)

到目前为止,我认为一个SQL打印是带外的从通常的结构化的反应?

http://www.easysoft.com/developer/languages/perl/sql_server_unix_tutorial.html#print_statement_status_messages有类似于我在Perl中尝试做的事情.

我能看到的最接近的是可选项:http: //www.python.org/dev/peps/pep-0249/#cursor-messages所以我猜它还没有实现?

Mr *_*ose 0

使用RAISERROR而不是 PRINT。将其与NOWAIT一起使用可立即获得输出。我不知道如何在 python 中处理这个问题,但在 ADO.NET 中,您可以在 SqlConnection 上使用InfoMessage事件。也许 Python 中也有类似的东西。