Вот код (с удаленным сервером / паролями и т. Д.)
public int SetUploadedInESIDatabase(string ID)
{
using (var oOracleConn = new OracleConnection())
{
oOracleConn.ConnectionString =
@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<ip>)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<dbname>)));User Id=<user>;Password=<password>;";
var cmd =
new OracleCommand(
"UPDATE FOO_ACCESS SET PIMAGE ='-1' WHERE CODE= '" + ID + "'", oOracleConn);
oOracleConn.Open();
return cmd.ExecuteNonQuery();
}
}
Эффект этого кода в том, что он никогда не выходит за пределы оператора return. Ошибка не возвращается (даже за одну ночь)
Я не эксперт по базам данных, но наш жесткий администратор БД говорит, что соединение было заблокировано (или, возможно, строка ...), он убил блокирующее соединение, но все же, когда я запускаю код, оно блокируется.
Я ошибаюсь (tm) в отношении запроса Oracle на обновление строки?
Я понимаю, что должен использовать параметризованный запрос, но у меня была проблема с этим, и мне нужны были простые вещи!
Если я скопирую встроенную команду из cmd. с помощью отладчика и запустите его с помощью SQL Developer, затем он работает (хотя иногда он тоже блокируется)
Я могу выбрать из базы данных по желанию.
Я не уверен, является ли это нормальным явлением или чем-то, что связано с нашей средой, поэтому любая помощь с радостью принимается!