2016-06-09 20 views
1

Wenn ich SQL Management Studio verwende. Wenn ich/Drop-Tabellen zu erstellen, oder alle Updates zu tun, kann ich Nachrichten sehen wie:Wie bekomme ich SQL Server-Nachricht zurück?

"Command(s) completed successfully." 
"Cannot drop the table 'my_table', because it does not exist or you do not have permission." 

Aber wenn ich Python die gleiche Abfrage auszuführen:

connection = pypyodbc.connect('my connect options...') 
cursor = connection.cursor() 
my_result = cursor.execute('my create/drop table sql...') 
my_result = connection.commit() 

Ich kann nichts von „my_result sehen "," Cursor "oder" Verbindung ". Wird die Nachricht von SQL Management Studio generiert? Wenn nicht, und es ist eine SQL Server-Engine zurückgegebene Nachricht, wie diese Nachricht erhalten?

Antwort

1

Die Nachrichten, die auf der Registerkarte Nachrichten in SSMS angezeigt werden, werden als InfoMessage-Ereignisse für die Verbindung übergeben. Hier ist der C# API doco

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.infomessage.aspx

Ich bin nicht ein Python-Benutzer so kann nicht wirklich darüber hinaus helfen Ihnen bei der Dokumentation zeigt.

Edit: Diese Antwort könnte Ihnen helfen, Getting SQL Server messages using ADO and win32com

Verwandte Themen