Insert binäre Datei in MSSQL DB (Varbinary) mit Python Pymssql
Ich versuche, binäre Daten mit @ in eine MSSQL-Datenbank einzufügeGespeicherte Prozedure aus einer Pyramiden-Webanwendung mit pymssql.
Der MSSQL-Datentyp für die jeweilige Spalte istvarbinary(max)
.
Meine Frage ist:Was erwartet der varbinary-Datentyp der MSSQL-Datenbank von mir, dass ich mit der Binärdatei arbeite, bevor ich sie einfüge?
Hier ist, was ich versucht habe:
with open(tmp_file, 'rb') as content_file:
filecontent = content_file.read()
... und dann den Wert von @ übergebfilecontent
zur gespeicherten Prozedur.
tmp_file
ist in diesem Fall ein gültiger Pfad zu einem.png
Datei
Die MSSQL-Datenbank antwortet mit dem folgenden Fehler:
*** DatabaseError: (257, 'Implicit conversion from data type varchar to varbinary(max) is not
allowed. Use the CONVERT function to run this query.DB-Lib error message 257, severity 16:\nGeneral
SQL Server error: Check messages from the SQL Server\n')
Ich kann den Wert des @ eingebfilecontent
Variable in eine SQLite varbinary
-Spalte) und eine MySQL-Datenbank BLOB
Spalte) kein Problem.
Warum funktioniert es nicht mit der MSSQL-Datenbank?