PRB: Prepare Command with Nonexistent Table Returns Success with Jet OLEDB Provider (293886)



The information in this article applies to:

  • Microsoft OLE DB Provider for Jet 4.0
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft Data Access Components 2.8

This article was previously published under Q293886

SYMPTOMS

When ICommandPrepare::Prepare is called from a Command object on a nonexistent table, it returns an HRESULT of S_OK instead of DB_E_ERRORSINCOMMAND(0x80040E14) or DB_E_NOTABLE (0x80040e37). This behavior occurs with the Jet OLE DB Provider when calling ICommandPrepare::Prepare on a query that contains a table that does not exist.

MORE INFORMATION

When preparing a command that contains a nonexistent table, other OLE DB providers may return either DB_E_ERRORSINCOMMAND or DB_E_NOTABLE. With the Jet OLE DB provider, ICommandPrepare returns S_OK when the table in the command does not exist. The Jet Provider returns DB_E_NOTABLE when you actually try to execute the command by calling ICommand::Execute.

Modification Type:MinorLast Reviewed:11/3/2003
Keywords:kbMDACNoSweep kbprb KB293886 kbAudDeveloper