Ich arbeite an einem Skript, um eine Dateiladeprozedur zu automatisieren. Also muss ich natürlich einige gespeicherte Prozeduren ausführen, die bereits existieren. Ich verwende pyodbc, um eine Verbindung zu meiner Datenbank herzustellen. Ich kann SELECT
völlig in Ordnung, aus der Datenbank, aber wenn ich versuche, aus der Datenbank auszuführen bekomme ich diesen Fehler:pyodbc gespeicherte Prozeduren/Microsoft SQL Server-Fehler 42000
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][SQL Server Native Client 10.0]
Syntax error, permission violation, or other nonspecific error (0) (SQLExecDirectW)')
ich nicht herausfinden kann, was das Problem hier ist - der Benutzer der volle DB Admin-Berechtigungen verfügt, Die Syntax ist korrekt, basierend auf der offiziellen Dokumentation der pyodbc.
print("Executing SP")
conn.execute('{EXEC TEMP.s_p_test}')
print("SP Executed.")
Hier TEMP
ist das Schema für die Art der gespeicherten Prozedur in dieser speziellen Datenbank. Das heißt, es ist der vollständige Name der gespeicherten Prozedur. Ich denke, es ist wahrscheinlich etwas dummes, dass ich nur vermisse.
Wie haben Sie 'conn' erstellen? Verwenden Sie trusted_credentials? –
Ich benutzte UID und PWD. Ich änderte das zu Trusted_Connection und es tat ' t nichts zu ändern. Ich habe auch die {} aus dem Befehl entfernt und jetzt funktioniert es. Vielen Dank für Ihre Hilfe. Die Dokumentation warf mich ab. – dmcoding