OleDbCommand с запросом ORACLE не обновляет таблицу - PullRequest
1 голос
/ 05 марта 2020

Я пробовал все, гуглил несколько дней, но ничего, что я нашел, мне не помогло.

У меня есть Oracle 9i db, таблица TIME_UNITS, в которой есть несколько полей - для своих целей я использую только 3, определяемые как : КОД - VARCHAR2(6), FOR_IN - VARCHAR2(1), FOR_OUT - VARCHAR2(1). Мой код:

string strConString = "provider=MSDAORA;DSN=myDSN;user id=myUser;password=myPassword";
string strQuery = "UPDATE TIME_UNITS SET FOR_IN='Y', FOR_OUT='Y' WHERE CODE='202003'";

using (OleDbConnection oleDbConn = new OleDbConnection(strConString ))
using (OleDbCommand cmd = new OleDbCommand(strQuery, oleDbConn))
{
    oleDbConn.Open();

    cmd.Transaction = oleDbConn.BeginTransaction(); 
    int rows = cmd.ExecuteNonQuery();
    cmd.Transaction.Commit();

    oleDbConn.Close();
}

ExecuteNonQuery возвращает одну строку, но когда я смотрю в БД с использованием sqldeveloper, ничего не меняется. То же утверждение прекрасно работает в sqldeveloper, используя те же учетные данные. Я пытался с и без транзакции begin-commit, но все еще без изменений в базе данных. Что я делаю не так?

...