У меня длинный запрос, который я пытаюсь вызвать из скрипта Google App.Длина запроса велика, и для ее выполнения требуется ~ 20 секунд.
Раньше он работал хорошо, но внезапно я начал получать: `оператор отменен из-за тайм-аута или запроса клиента.
ПосколькуОшибка тайм-аута пришла сразу после вызова executeQuery()
. Я подумал, что проблема в длине запроса, поэтому я добавил ее в хранимую процедуру.
Новый запрос - это только вызов этой процедуры.Теперь я получаю ошибку you are not owner of thread
, которая по какой-то причине выглядит как команда KILL
, отправленная Google App Script.
Это моя функция для выполнения запроса:
function runQuery(query, params, isUpdate) {
var conn = Jdbc.getConnection(dbUrl, username, password);
var statement = conn.prepareStatement(query);
if (params)
{
for (var i=0; i<params.length; i++)
{
var value = params[i];
var index = i+1;
if (!isNaN(value))
statement.setInt(index, parseInt(value));
else
statement.setString(index, value);
}
}
var results = !isUpdate ? statement.executeQuery() : statement.executeUpdate();
if (isUpdate)
return results;
var numCols = results.getMetaData().getColumnCount();
var resultsArray = processResults(results);
results.close();
statement.close();
return resultsArray;
}