2016-03-29 16 views
3

Siehe Cousin Beitrag formatiert: psycopg - Get formatted sql instead of executingpymssql - Get SQL statt Ausführung

Ich brauche einige Code von Postgres zu MS SQL Server zu überführen. Ich habe psycopg2 in Python verwendet, um alle Datenbankaufrufe auszuführen. Ich habe eine simlar Bibliothek in Pymssql gefunden, die tatsächlich eine sehr ähnliche API hat.

Eine Sache, die fehlt, ist der mogrify Aufruf. Kurz gesagt, mogrify verhindert die SQL-Injektion, tut dies jedoch ohne Ausführung. Ideal zum Erstellen einer SQL-Zeichenfolge.

Gibt es einen Anruf, der dem mogrify Aufruf in Pymssql ähnelt? Wenn nicht, gibt es eine Python-Bibliothek, die einen Mogrify-ähnlichen Aufruf hat? Wenn ich nichts finden kann, übersetze ich meinen Code, um die execute/executemany Anrufe zu verwenden, aber ich würde es vorziehen, das wenn überhaupt möglich zu vermeiden.

Antwort

1

Die Funktion substitute_params wird in das _mssql-Modul exportiert. Beispielverwendung:

>>> import pymssql 
>>> print pymssql._mssql.substitute_params("SELECT * FROM foo WHERE a = %s", ("quoted ' string",)) 
SELECT * FROM foo WHERE a = 'quoted '' string'