/ / Comment stocker un objet json sous forme de chaîne dans une base de données SQL - python, sql, json, échappement

Comment stocker un objet json sous forme de chaîne dans une base de données SQL - python, sql, json, échapper

En utilisant python, json et pyodbc, existe-t-il une fonction python pour stocker un objet json dans un champ de texte d'une base de données SQL?

Par exemple:

cnxn = pyodbc.connect( MY CONNECTION STRING )
cursor = cnxn.cursor()
cursor.execute("UPDATE TABLE1 SET FIELD1 = "" + json.dumps(pythonDictionary) + "" WHERE FIELD2 = "some value"")

Je reçois toujours une erreur de syntaxe parce que je ne suis paséchappant correctement aux symboles spéciaux dans l'objet json, je veux simplement que ce dump soit converti en chaîne SQL appropriée, existe-t-il une fonction en python pour le faire?!

Réponses:

1 pour la réponse № 1

Au lieu de vous échapper, vous devriez simplement utiliser des valeurs paramétrées:

cursor.execute("UPDATE TABLE1 SET FIELD1 = ? WHERE FIELD2 = "some value"", (json.dumps(pythonDictionary)) )

Comment utiliser les variables dans une instruction SQL en Python?