Это мой первый опыт, поэтому OCCI, поэтому я прошу прощения, если ответ очевиден.
У меня есть объект Statement, созданный обычным способом:
string sqlStatement = "INSERT INTO data_tab VALUES(:id, :name, :number, :when)";
m_stmt = m_conn->createStatement(sqlStatement);
m_stmt->setMaxIterations(100);
Тогда мне нужнозациклить несколько объектов, которые я должен вставить в базу данных:
for(size_t i = 0; i < data.size(); ++i)
{
m_stmt->setInt(1, i);
try {
m_stmt->setString(2, data[i].client());
}
catch(SQLException& e)
{
cerr << "setString(): " << e.what();
exit(1);
}
m_stmt->setDouble(3, data[i].number());
m_stmt->setDate(4, data[i].when());
// ...
// Checks if maxIterations is lesser than data size,
// oteherwise calls executeUpdate and other kind of
// boilerplate code.
// ...
m_stmt->addIteration();
}
Но код работает в методе setString со следующим выводом:
setString(): ORA-32132: maximum iterations cannot be changed
Я считаю, что должен получитьэта ошибка я вызываю setMaxIterations после метода setXXX, но я не делаю этого.Что я делаю не так?