AW: MFC / ODBC / Structured Storage Question
=?iso-8859-1?Q?Klaus_G=FCtter?= -- KG@it-gmbh.de
Saturday, February 08, 1997
Deirdre,
you could do the following:
* first create an ILockBytes object in memory using
CreateILockBytesOnHGlobal
* the create a stream on this using StgCreateDocfileOnILockBytes
- Klaus
>----------
>Von: Deirdre Collins[SMTP:deirdre@technicon.com]
>Gesendet: Donnerstag, 6. Februar 1997 02:33
>An: 'mfc-l@netcom.com'
>Betreff: MFC / ODBC / Structured Storage Question
>
>Environment: VC++ 4.2b, Win 95, NT 4.0
>
>I'm using the MFC ODBC classes to access my database. One of the fields
>in this ACCESS database is of type OLE Object, which can be loaded as a
>CLongBinary or a CByteArray object. The content of this field is an OLE
>Doc Object eg a Word or Excel Document, which is fundamentally in
>Structured Storage format. I can activate and manipulate these objects
>by passing their IStorage to the COleClientItem, as I am already doing
>for documents not stored in the database.
>
>My question is - how do I get the Storage Interface of the OLE Object
>from the CLongBinary or CByteArray that gets loaded from the database?
>
>Also does anyone have any sample code on how to define an SNB (String
>Named Buffer) for use in Opening/Copying IStorage contents? The MSDN
>information is somewhat obscure.
>
>Thanks,
>Deirdre Collins.
>
=?iso-8859-1?Q?Klaus_G=FCtter?= -- KG@it-gmbh.de
Monday, February 10, 1997
Hi Deirdre,
I never did it this way, so I'm not sure.=20
In MSDN \Product Documentation\SDKs\Jet DB Engine\Appendix A in the
Data Type specifications they mention a 12 byte header (14 byte for
versions < 3.0). So perhaps you could try this.
Goos luck!
- Klaus
>----------
>Von: Deirdre Collins[SMTP:deirdre@technicon.com]
>Gesendet: Sonntag, 9. Februar 1997 01:04
>An: Klaus G=FCtter
>Cc: 'mfc-l@netcom.com'
>Betreff: RE: MFC / ODBC / Structured Storage Question
>
>Hi Klaus -=20
>
>Thanks for your suggestion. Have you had any success with this?
>I've tried it but get STG_E_FILEALREADYEXISTS from the
>StgCreateDocfileOnILockBytes. In fact, if I run StgIsStorageILockBytes
>on the ILockBytes it returns FALSE! I also tried
>StgOpenStorageOnILockBytes but get the same result.
>I've been on to Microsoft, but with no success yet...
>They seemed to think that the OLE Object in the DB may contain some
>header information - which would explain why StgIsStorageILockBytes
>would fail. But they weren't sure about this..
>I'd appreciate any further information you or anyone else may have on
>this as it's a critical issue for me right now.
>
>Thanks,
>Deirdre.
>
>>-----Original Message-----
>>From: Klaus G=FCtter [SMTP:KG@it-gmbh.de]
>>Sent: Saturday, February 08, 1997 10:33 AM
>>To: Deirdre Collins; 'mfc-l@netcom.com'
>>Subject: AW: MFC / ODBC / Structured Storage Question
>>
>>Deirdre,
>>
>>you could do the following:
>>* first create an ILockBytes object in memory using
>>CreateILockBytesOnHGlobal
>>* the create a stream on this using StgCreateDocfileOnILockBytes
>>
>>- Klaus
>>>----------
>>>Von: Deirdre Collins[SMTP:deirdre@technicon.com]
>>>Gesendet: Donnerstag, 6. Februar 1997 02:33
>>>An: 'mfc-l@netcom.com'
>>>Betreff: MFC / ODBC / Structured Storage Question
>>>
>>>Environment: VC++ 4.2b, Win 95, NT 4.0
>>>
>>>I'm using the MFC ODBC classes to access my database. One of the =
fields
>>>in this ACCESS database is of type OLE Object, which can be loaded as =
a
>>>CLongBinary or a CByteArray object. The content of this field is an =
OLE
>>>Doc Object eg a Word or Excel Document, which is fundamentally in
>>>Structured Storage format. I can activate and manipulate these =
objects
>>>by passing their IStorage to the COleClientItem, as I am already =
doing
>>>for documents not stored in the database.
>>>
>>>My question is - how do I get the Storage Interface of the OLE Object
>>>from the CLongBinary or CByteArray that gets loaded from the =
database?
>>>
>>>Also does anyone have any sample code on how to define an SNB (String
>>>Named Buffer) for use in Opening/Copying IStorage contents? The MSDN
>>>information is somewhat obscure.
>>>
>>>Thanks,
>>>Deirdre Collins.
>>>
>
Become an MFC-L member
| Вернуться в корень Архива
|