Article ID: 248156 - View products that this article applies to.
This article was previously published under Q248156
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 56121 (SQLBUG_70)
When you attempt to perform a Distributed Query and the provider does not support IDBCreateCommand, you will see the following error message in the trace information you can collect using the SQL Server Profiler:
This message is not correct and should be:
IDBProperties::QueryInterface returned 0x80004002: The provider did not support an interface.
where <provider name> is an identifier representing the name of the provider.
Server: Msg 7301, Level 16, State 2, Line 0
Could not obtain a required interface from OLE DB provider '<provider name>'.
OLE DB error trace [OLE/DB Provider '<provider name>' IUnknown::QueryInterface returned 0x80004002: IDBCreateCommand].
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
254561For more information, contact your primary support provider.
(http://support.microsoft.com/kb/254561/ )INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
The IDBCreateCommand interface should be supported by any provider that supports commands that SQL Server needs in two scenarios:
If step 2 is the case, then the user is not using a pass-through query but still seeing the problem and it indicates a possible problem with the provider. SQL Server will not try to use the IDBCreateCommand interface unless the provider indicated that it supports commands in an appropriate SQL dialect through the DBPROP_SQLSUPPORT property. One way this bug may occur is when the provider indicates an appropriate dialect level in this property, but actually does not support IDBCreateCommand. This would be a provider bug.