You cannot mix standard bindings and deferred array bindings.
All bindings must be cleared out when switching between standard bindings and deferred array bindings.
When using deferred array bindings, all columns or parameters must be bound in order without omission using a single API call because a subsequent call to SQLBindColumnDA() or SQLBindParameterDA() replaces the values from the previous call.
The SQLExecute() and SQLExecDirect() functions can now return the errors of SQLBindParameter() related to BufferLength if SQLBindParameterDA() is used to bind the parameters.
The SQLFetch() function can now return the errors of SQLBindCol() related to BufferLength if SQLBindColumnDA() is used to bind the columns.
SQLBindColumnDA() and SQLBindParameterDA() cannot be used with ODBC Driver Managers since the feature utilizes a non-standard API call.
SQLSetDescField() usage limitations: Some values of FieldIdentifier are not be allowed when deferred array bindings are used. For example, SQL_DESC_DATA_PTR returns an error because the application should change the ValuePtr array to change the application buffer used. Any FieldIdentifier that would update an SQLBindCol() or SQLBindParameter() field would return an error when deferred array bindings are used.