C# Oracle: эта операция требует, чтобы объекты использовали одно и то же соединение.C#

Место общения программистов C#
Anonymous
C# Oracle: эта операция требует, чтобы объекты использовали одно и то же соединение.

Сообщение Anonymous »

Я пытаюсь использовать API Oracle C# (OracleDependency), чтобы мое приложение получало уведомление от Oracle при добавлении, изменении или удалении строки. Для этого я сначала регистрирую таблицы, по которым хочу получать уведомления. Все работает нормально, пока я использую то же соединение Oracle. Однако я хотел бы, чтобы мое приложение прослушивало несколько баз данных Oracle. Независимо от того, использую ли я одну OracleDependency для всех или одну для каждого соединения, я получаю одну и ту же ошибку: «эта операция требует, чтобы объекты использовали одно и то же соединение.
Эта ошибка появляется в строке «cmd.ExecuteNonQuery();< /p>
Спасибо
private void registerDependency(string tableName, OracleConnection cnx)
{
string query = "SELECT * FROM " + tableName;

OracleCommand cmd = new OracleCommand(query, cnx);
Console.WriteLine($"Creating command for {tableName}, cmd instance: {cmd.GetHashCode()}");

try
{
var reader = cmd.ExecuteReader();
reader.Read();
reader.Close();
}
catch (Exception )
{
return;
}
var dep = createOracleDependency();
dep.AddCommandDependency(cmd);

cmd.AddRowid = true;
cmd.Notification.IsNotifiedOnce = false;

try
{
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
Console.WriteLine($"Erreur : {e.Message}");
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... connection

Вернуться в «C#»