Мы пришли к выводу, что не существует функции ODBC, так что она меняет пароль пользователя, когда указанный пользователь был отмечен как просроченный; API ODBC, хотя и мощный сам по себе, для этой цели недостаточно.
Таким образом, мы выбрали другой подход: поскольку мы используем Oracle 11g и на наших машинах установлен Oracle Instant Client, мы прибегли к использованию OCI (Oracle Call Interface), в частности его функции OCIPasswordChange.
sword password_change_status = OCIPasswordChange(svchp, errhp, (CONST text *)sUser, strlen(sUser), (CONST text *)sOldPassword, strlen(sOldPassword), (CONST text *)sNewPassword, strlen(sNewPassword), OCI_AUTH);
Естественно, есть, вероятно, несколько других альтернатив, таких как создание функционального пользователя базы данных и использование этого пользователя для изменения пароля другого пользователя, но этот подход хорошо работает.