Мне не повезло получить уведомление об изменении с сервера БД. Мой локальный брандмауэр выключен. Нам интересно, есть ли какие-либо другие параметры среды / машины, которые бы препятствовали возврату уведомления об изменении?
Мой пользователь имеет права ИЗМЕНЕНИЯ на базу данных. Сервер - 11.2.0.2.0, а файлы ODP.NET - 2.112.1.2.
var con = new OracleConnection(constr);
OracleDependency dep = null;
var cmd = new OracleCommand("select col1, col2, col3 from gline.test", con);
con.Open();
//OracleDependency.Port = 1005;
dep = new OracleDependency();
dep.OnChange += new OnChangeEventHandler(OnMyNotificaton);
dep.QueryBasedNotification = false;
dep.AddCommandDependency(cmd);
cmd.Notification.IsNotifiedOnce = false;
cmd.AddRowid = true;
cmd.ExecuteNonQuery();
var txn = con.BeginTransaction();
string updateCmdText = "update gline.test set col1 = 1, col2 = 2, col3 = 3 where col1 = 1";
OracleCommand updateCmd = new OracleCommand(updateCmdText, con);
updateCmd.ExecuteNonQuery();
txn.Commit();
Console.WriteLine("updated gline.test");
Console.WriteLine("Waiting for change notification...");