According to the FDB documentation, an insert or update has to pass
parameters using an file-like object, like this:
cur.execute("insert into blob_test values (?)", (StringIO('abcdef'),))
It appears that currently the DAL passes the parameter as a very long
string, and Firebird has a 64k limit on the size of the parameters.
On Tuesday, July 2, 2013 12:26:17 AM UTC-6, Niphlod wrote:
>
> Bummer, than it's probably a problem within the driver itself... need to
> debug it or wait that someone picks it and see what's going on.
>
> Il giorno martedì 2 luglio 2013 00:55:43 UTC+2, Raul Monares ha scritto:
>>
>> I'm using python fdb 1.4. The field is defined as blob sub_type 0,
>> because I'm storing PDF's
>>
>>
>>
>> On Monday, July 1, 2013 1:23:42 PM UTC-6, Niphlod wrote:
>>>
>>> what driver are you using ? DAL creates 'blob' fields as BLOB SUB_TYPE
>>> 1.... can you please check that the field is created indeed as BLOB
>>> SUB_TYPE 1 watching your databases/sql.log file ?
>>>
>>> This is an excerpt from firebird documentation
>>>
>>> *Sub-type is 1.** *
>>>
>>> *This blob field sub-type is designed for the storage and manipulation
>>> of text. Typically, this is free-form memo or notes data. Typically you
>>> would use this blob field sub-type is for storing large amounts of text
>>> data. This is more convenient that a large VARCHAR because, unlike a
>>> VARCHAR, there is no 32K limit.*
>>>
>>>
>>>
>>> On Monday, July 1, 2013 7:21:03 PM UTC+2, Raul Monares wrote:
>>>>
>>>> When trying to store a value greater than 64k in a Blob Field, I get
>>>> this error:
>>>>
>>>> <class 'fdb.fbcore.DatabaseError'> ('Error while preparing SQL
>>>> statement:\n- SQLCODE: -104\n- Dynamic SQL Error\n- SQL error code =
>>>> -104\n- Unexpected end of command - line 1, column 25', -104, 335544569)
>>>> But with blobs smaller than 64k works fine.
>>>>
>>>
--
---
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.