Не удалось преобразовать BLOB в буфер - Sqlite3
Я пытаюсь сохранить HTML в виде BLOB-объекта в БД sqlite3. Тем не менее, я получаю следующую ошибку "не удалось преобразовать BLOB в буфер". Я мог бы сохранить HTML как текст, но я сталкиваюсь с ошибками Unicode.
Так что мой нынешний подход такой.
def update(self, table_name, column, value, searchColumn, searchValue, BLOB=False):
''' Update a single column with a value
column: column to update
value: Value to be updated
searchColumn: Find record with this column
searchValue: Value of search column
'''
if (BLOB == False):
sql_query = "update %s set %s = ? where %s = '%s';" % (table_name, column, value, searchColumn, searchValue)
self.conn.execute(sql_query)
else:
sql_query = "update %s set %s = ? where %s = '%s';" % (table_name, column, searchColumn, searchValue)
print sql_query
self.conn.execute(sql_query, (sqlite3.Binary(value),))
self.conn.commit()
И код для размещения HTML
self.urlDB.update("URL", "content", content, "address", this_url, BLOB=True)
контент - Юникод версия HTML. Из этого я получаю вышеуказанную ошибку. Может кто-нибудь сказать мне, что в настоящее время не так с этим кодом? Или, если я могу сохранить его как ТЕКСТ, как бы я использовал описанный выше интерфейс, чтобы сохранить его как текст? HTML в настоящее время читается так.
def fetch(self):
request, handle = self._open()
self._addHeaders(request)
if handle:
try:
data=handle.open(request)
mime_type=data.info().gettype()
url=data.geturl();
if mime_type != "text/html":
raise OpaqueDataException("Not interested in files of type %s" % mime_type,
mime_type, url)
self.content = unicode(data.read(), "utf-8",
errors="replace")
Я видел другие ответы на эту проблему, но они, похоже, не помогли в этом случае. Спасибо