odbx_error man page

odbx_error ā€” Returns a human readable error message


#include <opendbx/api.h>

char* odbx_error (odbx_t* handle, int error);


odbx_error() returns an error string corresponding to the supplied error code or the error string generated by the native database library. Error strings originating from the backend modules or the native database client libraries are cleared as soon as the next odbx_*() function is called. All error strings are statically allocated and must not be changed or freed. If the OpenDBX library is compiled with native language support and the user environment variables are set accordingly to a supported language, strings which are part of the OpenDBX library are translated before being returned. This may also be the case for strings returned by the native database libraries but depends on their support.

The first parameter handle is the connection object created and returned by odbx_init() which becomes invalid as soon as it was supplied to odbx_finish(). Anyhow, it isn't necessary to supply a valid handle for errors which use error codes not equal to -ODBX_ERR_BACKEND because they are returned directly from a static error message array. Therefore, it's possible to use odbx_error() even if odbx_init() wasn't successful. If -ODBX_ERR_BACKEND is supplied in this case nevertheless, the return error string will be the same as for an invalid handle.

Almost all OpenDBX library functions return an error code if one of the operations couldn't be completed successfully. The codes returned use values less than zero to indicate different kind of errors and these values can be directly passed to odbx_error() to obtain the corresponding zero-terminated error string.

Return Value

odbx_error() returns a zero-terminated string suitable for being displayed to the user of the application.


If an backend error occurred and handle is NULL or the supplied connection object is invalid, odbx_error() returns the localized string for -ODBX_ERR_PARAM.

See Also

odbx_error_type(), odbx_init()


25 January 2018 OpenDBX