Re: OLEDB errors when updating rows (that contain BLO B columns) using dynamic accessor

Orest Kulik <[email protected]> Tue, 2 Jul 2002 05:45:46 -0700
Newsgroups gmane.comp.windows.devel.oledb.devel
Message-ID <OLEDB_DEV%[email protected]>
Hi Mark,
thank you for the excellent tip, and yes, you are correct that this
behaviour is by the spec. I was thinking that binding does not work
properly (as we all witnesed in the past simillar behaviour). I tried to
satisfy that extra Release(), but what I should have done is ignoring it
completely. After purging my ISequentialStream ptrs to NULL, I have
discovered that I had originally two problems instead of only one.
The first problem emerged as the other was solved (with your tip).

Basically if I issue SetData, but without previously changing BLOB column,
SetData fails. Ir returns 0x8000ffff - catastrophic failure.
If I touch that data and change stream owner (from provider to 'client'),
now Update works and SetData returns S_OK. So I figured out that my
cursor/rowset OLE DB property set is not wrong. Do I have to do anything
prior to SetData, e.g. reading provider based stream and copying it
to 'client' stream? That would mean explicitly taking ownership over the
stream, true?

Orest Kulik
Ekobit, HR

You can read messages from the OLEDB_DEV archive, unsubscribe from OLEDB_DEV,
or subscribe to other DevelopMentor lists at http://discuss.develop.com.