В моей программе я запускаю «выбрать для обновления» - Запрос вот так:
OracleConnection con = GenerateConnection();
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT col1 FROM table1 WHERE col2 = :COL2 AND rownum = 1 FOR UPDATE WAIT 2";
cmd.Parameters.Add(new OracleParameter(":COL2 ", "some value"));
string myValue = Convert.ToString(cmd.ExecuteScalar());
Это работает довольно хорошо.Теперь я хочу параметризовать время ожидания, чтобы получить блокировку (некоторые интеграционные тесты, которые должны ждать немного дольше, из-за более медленной тестовой среды).
В связи с этим я попробовал это:
OracleConnection con = GenerateConnection();
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT col1 FROM table1 WHERE col2 = :COL2 AND rownum = 1 FOR UPDATE WAIT :WAITFOR";
cmd.Parameters.Add(new OracleParameter(":COL2 ", "some value"));
cmd.Parameters.Add(new OracleParameter(":WAITFOR", 2));
string myValue = Convert.ToString(cmd.ExecuteScalar());
К сожалению, я получаю это:
ORA-30005: отсутствует или недействителен интервал ожидания
Мой вопрос:
Должен ли ясделать String.Format()
или я что-то не так?