Я пытаюсь выполнить простой sql запрос с использованием ODPI- C
dpiStmt* stmt;
const char* query = "CREATE TABLE schema_name.Z_TEST(\n"
" person_id NUMBER NOT NULL,\n"
" first_name VARCHAR2(50) NOT NULL,\n"
" last_name VARCHAR2(50) NOT NULL,\n"
" PRIMARY KEY(person_id)\n"
");";
dpiConn_prepareStmt(conn.connection_, 0, query, strlen(query), nullptr,0, &stmt);
if(dpiStmt_execute(stmt, DPI_MODE_EXEC_DEFAULT, nullptr) == DPI_FAILURE)
{
throw std::runtime_error(get_context_error_string(conn.db_context_));
}
Но возникает ошибка
ERROR: ORA-00922: missing or invalid option (dpiStmt_execute : execute)
Где
- conn - это структура, которая имеет соединение dpiConn * _. (Протестировано с dpiConn_ping)
- get_context_error_string (dpiContext *); возвращает последнюю ошибку контекста, используя dpiErrorInfo.
Надеюсь, вы мне поможете.
PS сайт не позволил мне создать новый тег ODPI- C
РЕДАКТИРОВАТЬ : Я проверил все, что касается имени схемы и существования контекста / соединения