Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2013 09:17:06

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

psycopg2

Не могу понять где искать ошибку. Может кто встречал аналогичную ситуацию. Пытаюсь подгрузить бинарные файлы в базу через UPDATE (тип поля bytea). Для файлов более 10М вываливается ошибкой

TypeError: can't escape tuple to binary

Похоже, что огрничение по размеру сказывается, но где? В самом PostgreSQL? psycopg?

Сам кусок кода:
def     LoadDataFile():
    cursor = connections['default'].cursor()
    file_name = os.listdir('/home/task/tmc')
    for item in file_name:
        f = open('/home/task/tmc/'+item,'rb')
        data = f.read()
        f.close()
        (path,ext) = os.path.splitext(item)
        path = path.encode("utf-8")
        print item
        cursor.execute("SELECT count(*) FROM t_tmc_docs WHERE t_filedata IS NULL AND t_rec_id='%s'" % (path))
        data = cursor.fetchone()
        if data[0] == 1:
            cursor.execute("UPDATE t_tmc_docs SET t_filedata=%s WHERE t_rec_id=%s;", (psycopg2.Binary(data),path))
            transaction.commit_unless_managed()



Офлайн

#2 Сен. 23, 2013 09:47:49

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

psycopg2

Вопрос снят. См. переменная data



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version