The information in this article applies to:
SYMPTOMSIf an OLE DB consumer calls QueryInterface to acquire IRowsetChange from an IRowset interface, the following HRESULT is returned: This error means that the rowset or OLE DB provider does not support updatability; that is, the Microsoft Oracle OLE DB Provider. In such cases, the consumer can perform updates using SQL UPDATE statements in ICommandText::Execute() or ICommand::Execute(), or by loading OLE DB cursor services. The OLE DB services can be configured to be loaded by setting DBPROP_INIT_OLEDBSERVICES in the DBPROPSET_DBINIT property as follows:
However, after loading the services, you still may receive the E_NOINTERFACE error.
CAUSEThe OLE DB cursor services are not loaded if the IRowset interface is obtained from ICommandText::Execute() without querying for the ICommand interface. Therefore, a QueryInterface on the IRowset for IRowsetChange returns an E_NOINTERFACE HRESULT error. If you query first for ICommand and then get ICommandText from the ICommand, the services are loaded. RESOLUTION
The OLE DB Services will be loaded if you:
-or- STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. REFERENCESFor additional information, please see the OLE DB Services topics in the Data Access SDK 2.1 documentation. Additional query words:
Keywords : kbDatabase kbOLEDB200bug kbVC kbGrpVCDB kbGrpMDAC kbDSupport kbMDAC200bug kbMDAC210bug |
Last Reviewed: May 26, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |