| title | Return codes (Native Client OLE DB provider) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| description | Learn about return codes supported for SQL Server Native Client OLE DB, including the commonly encountered DB_S_ERRORSOCCURRED HRESULT value. | |||||||||||
| author | markingmyname | |||||||||||
| ms.author | maghan | |||||||||||
| ms.date | 03/14/2017 | |||||||||||
| ms.service | sql | |||||||||||
| ms.subservice | native-client | |||||||||||
| ms.topic | reference | |||||||||||
| helpviewer_keywords |
|
[!INCLUDESQL Server Azure SQL Database Synapse Analytics PDW]
At the most basic level, a member function either succeeds or fails. At a somewhat more precise level, a function can succeed, but its success may not be what the application developer intended.
For more information about OLE DB return codes, see Return Codes (OLE DB).
When a [!INCLUDEssNoVersion] Native Client OLE DB provider member function returns S_OK, the function succeeded.
When a [!INCLUDEssNoVersion] Native Client OLE DB provider member function does not return S_OK, the OLE/COM HRESULT-unpacking FAILED and IS_ERROR macros can determine the overall success or failure of a function.
If FAILED or IS_ERROR returns TRUE, the [!INCLUDEssNoVersion] Native Client OLE DB provider consumer is assured that member function execution failed. When FAILED or IS_ERROR return FALSE and the HRESULT does not equal S_OK, the [!INCLUDEssNoVersion] Native Client OLE DB provider consumer is assured that the function succeeded in some sense. The consumer can retrieve detailed information on this "success with information" return from the [!INCLUDEssNoVersion] Native Client OLE DB provider error interfaces. Also, in the case where a function clearly fails (the FAILED macro returns TRUE), extended error information is available from the [!INCLUDEssNoVersion] Native Client OLE DB provider error interfaces.
[!INCLUDEssNoVersion] Native Client OLE DB provider consumers commonly encounter the DB_S_ERRORSOCCURRED "success with information" HRESULT return. Typically, member functions that return DB_S_ERRORSOCCURRED define one or more parameters that deliver status values to the consumer. No error information may be available to the consumer other than that returned in status-value parameters, so consumers should implement application logic to retrieve status values when they are available.
The [!INCLUDEssNoVersion] Native Client OLE DB provider member functions do not return the success code S_FALSE. All [!INCLUDEssNoVersion] Native Client OLE DB provider member functions always return S_OK to indicate success.