Попробовав все остальное, я вынужден задать вопрос. Я использую pyodb c для получения файлов PDF, хранящихся в SQL программного обеспечения для управления документами.
cursor.execute('SELECT Naziv, StatusID, TipID, KontaktNaziv, ID FROM CIS3000.dbo.Dokumenti WHERE MapaID=18755')
for row in cursor:
if row[1]==1:
row[1]=defaultstatusi[row[2]-1]
constring='SELECT Datoteka FROM CIS3000.dbo.Datoteke WHERE DokumentID='+str(row[4])
row2=cursor2.execute(constring).fetchone()
# row2=cursor2.fetchval()
with open("c:\\_test\\"+row[0]+".pdf", "wb") as fajla:
fajla.write(row2)
Все файлы, которые я получаю, являются поврежденными файлами. И имеют размер на несколько байтов больше оригинального (который я получаю при экспорте тех же файлов из DMS). Я также получаю на 8 байт больше, чем оригинальный размер файла. Начало файлов: «0xB985BC…» и «0x25504446…» соответственно при шестнадцатеричном просмотре. Я попытался посмотреть на это из SQL Studio - я получаю тот же HEX, который сохраняется в моих файлах.
Попытка связаться с парнями из DMS, они говорят, что хранят их как двоичные данные напрямую, ничего не делая с данными.
Есть идеи?