Я разрабатываю приложение на C#, в котором пытаюсь использовать уведомление об изменении базы данных Oracle.
Когда я использую DCN для одной таблицы, все работает как положено, но когда Пытаюсь использовать две таблицы, получаю следующую ошибку: «Попытка чтения или записи защищенной памяти. Часто это признак того, что другая память повреждена», в строке cmd.ExecuteNonQuery();
Вот код:
Я разрабатываю приложение на C#, в котором пытаюсь использовать уведомление об изменении базы данных Oracle. Когда я использую DCN для одной таблицы, все работает как положено, но когда Пытаюсь использовать две таблицы, получаю следующую ошибку: «Попытка чтения или записи защищенной памяти. Часто это признак того, что другая память повреждена», в строке cmd.ExecuteNonQuery(); Вот код: [code]string sql = "select rowid, first_name, last_name, salary from employees where employee_id = :1" + "select country_id, country_name, region_id from countries where country_id = :2"; string constr = "User Id=hr;Password=Parola_007;Data Source=ORCL;Pooling=false"; con = new OracleConnection(constr); con.Open(); OracleCommand cmd = new OracleCommand(sql, con);
OracleDependency dep = new OracleDependency(cmd); cmd.Notification.IsNotifiedOnce = false; dep.OnChange += new OnChangeEventHandler(OnDatabaseNotification); cmd.ExecuteNonQuery();
public static void OnDatabaseNotification(object src, OracleNotificationEventArgs args) { string sql = "select rowid, first_name, last_name, salary from employees where rowid = :1" + "select rowid, country_id, country_name, region from countries where rowid = :2";
OracleParameter p_rowid = new OracleParameter(); p_rowid.Value = args.Details.Rows[0]["rowid"]; OracleParameter p_rowid2 = new OracleParameter(); p_rowid2.Value = args.Details.Rows[1]["rowid"];