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 | Вернуться в корень Архива |