ich versuche mich gerade an einer kleinen Anwendung, die mir helfen soll, meine Musik zu organisieren. Dazu möchte ich Thumbnails in einer Datenbank (MS SQL Server 2008 R2) speichern.
Der Test-Code dafür sieht wie folgt aus:
Code: Alles auswählen
import adodbapi
import hashlib
conn_string = '''Driver={SQL Server Native Client 10.0};
Server=DBSMusic;
Database=CoverThumbs;
Trusted_Connection=yes;
'''
conn = adodbapi.connect(conn_string)
curs = conn.cursor()
file_path = r"C:\Dump\thumb_001.png"
with open(file_path, "rb") as _f_:
m = hashlib.md5()
img_data = _f_.read()
m.update(img_data)
the_hash = m.hexdigest()
thumb = adodbapi.Binary(img_data)
curs.execute("INSERT INTO thumbnails (hash, image_data) VALUES(?, ?)",
[the_hash, thumb])
Wenn ich obigen Code nun mit einem Bild versuche, welches < 8Kb ist, funktioniert es, bei Bildgrößen jenseits der 8Kb nicht mehr.
Ich bekomme dann folgenden Fehler:
Code: Alles auswählen
adodbapi.adodbapi.DatabaseError: (-2147352567, 'Exception occurred.', (0, u'Microsoft OLE DB Provider for ODBC Drivers', u'[Microsoft][SQL Server Native Client 10.0]String data, right truncation', None, 0, -2147217833), None)
Vielleicht kann da jemand helfen.

Danke im Voraus, beste Grüße
~Mad