I think he has more or less abandoned that project. So I've had to tweak the ODBC driver to work with
blobs anyway (because the 0.65 ODBC driver could only handle text).

I've tweaked the SQLGetData to retrieve a blob correctly, haven't tried it yet with large data tho.. but not SQLPutData yet (at least not sufficiently). So you mean I'd alloc a buffer in SQLBindParameter (where length of data is given), then fill that buffer in SQLPutData (til its done), and then pass it to SQLite?

/R

On Sun, 22 Jan 2006 08:33:15 -0700, Robert Simpson <[EMAIL PROTECTED]> wrote:

-----Original Message-----
From: Robert Bielik [mailto:[EMAIL PROTECTED]
Sent: Sunday, January 22, 2006 8:17 AM
To: sqlite-users@sqlite.org
Subject: [sqlite] Writing/reading blobs

Hi all,

I'm using SQLite3 via the SQLite ODBC wrapper. Amongst other
things I need
to store large blobs. When using ODBC this means several calls to
SQLPutData/SQLGetData. I've read the docs and it seems that
SQLite doesn't
support this. Is this in planning, and/or can someone well
versed in the
code of SQLite say if this is doable?

This is a question to ask the author of the ODBC driver.  Faking
SQLGetData()'s stream-like fetch is easy, but it's a little hard to fake
SQLPutData(). SQLite expects the entire blob to be assigned or fetched. If you're working with massive blobs, be aware SQLite retrieves them from disk in their entirety so you need to have to enough RAM to hold an entire row of
such a table.

Robert





Reply via email to