If I use cache, for example: def putRecipesInCache(): recipesCache = cache.ram('recipes', lambda: db().select(db.recipes.IMAGE ), time_expire=60*60*24) return recipesCache
def index(): rows = putRecipesInCache() image = '' for row in rows: if row.IMAGE is None: image += '' else: import codecs base64_data = codecs.encode(row.IMAGE.read(), 'base64') base64_text = codecs.decode(base64_data, 'ascii') image += '<img src="data:image/png;base64, %s" class="card-img-top" alt="..."/>' % base64_text return XML() I get error: Error snapshot [image: help] <http://127.0.0.1:8000/admin/default/ticket/Recipes/127.0.0.1.2019-08-17.14-59-19.0443afad-ae9d-4f01-8b4c-f5a8c1af81ce#> DatabaseError(('Cursor.read_output_blob/isc_open_blob2:\n- SQLCODE: -904\n- invalid database handle (no active connection)', -904, 335544324)) inspect attributes Frames - *File C:\web2py\gluon\restricted.py in restricted at line 219* код аргументы переменные - *File C:\web2py\applications\Recipes\controllers\default.py in <module> at line 226* код аргументы переменные - *File C:\web2py\gluon\globals.py in <lambda> at line 421* код аргументы переменные - *File C:\web2py\applications\Recipes\controllers\default.py in index at line 74* код аргументы переменные - *File C:\web2py\applications\Recipes\controllers\default.py in selectRecipes at line 146* код аргументы переменные - *File C:\Program Files (x86)\Python37-32\lib\site-packages\fdb\fbcore.py in read at line 4764* код аргументы переменные - *File C:\Program Files (x86)\Python37-32\lib\site-packages\fdb\fbcore.py in __ensure_open at line 4658* код аргументы переменные - *File C:\Program Files (x86)\Python37-32\lib\site-packages\fdb\fbcore.py in __open at line 4667* код аргументы переменные Function argument list (self=<fdb.fbcore.BlobReader object>) Code listing 4662. 4663. 4664. 4665. 4666. 4667. 4668. 4669. 4670. 4671. bs([ibase.isc_bpb_version1, ibase.isc_bpb_type, 1, ibase.isc_bpb_type_stream])) if db_api_error(self._isc_status): raise exception_from_status(DatabaseError, self._isc_status, "Cursor.read_output_blob/isc_open_blob2:") # Get BLOB total length and max. size of segment result = ctypes.cast(ctypes.create_string_buffer(20), buf_pointer) api.isc_blob_info(self._isc_status, self._blob_handle, 2, -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/1682f597-1f05-4072-a56e-adb03173d6d0%40googlegroups.com.