从 Oracle 数据库中检索插入的数据

问题描述

我需要在 C# 中创建一个 Windows 服务,该服务将从 Oracle 数据库获取插入的值并将它们转换为 XML。

我的服务将保持活动状态并检测插入到不同表中的数据。我需要获取这些值并将它们存储在一个对象中。

我已经测试了数据更改通知 (DCN),它工作正常,但我只收到通知,无法获取插入的值。

如果您需要任何代码,请告诉我。

是否可以获取插入到数据库中的值?

谢谢。

LE: 我已经使用 HR 模式测试了 DCN。 下面是 C# 代码

public Form1()
{
    InitializeComponent();
    OracleConnection con = new OracleConnection(constr);
    OracleCommand cmd = new OracleCommand(sql,con);
    con.open();
    
    cmd.AddRowid = true;
    OracleDependency dep = new OracleDependency(cmd);
    cmd.Notification.IsNotifiedOnce = false;

    dep.OnChange += new OnChangeEventHandler(OnMyNotificaton);
    OracleDataAdapter da = new OracleDataAdapter(cmd);
    da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
    da.Fill(ds,tablename);
    dataGrid1.SetDataBinding(ds,tablename);
    
    Show();
    Refresh();
}

public static void OnMyNotificaton(object src,OracleNotificationEventArgs args) 
{
    MessageBox.Show("Result set has changed.","Notification Alert",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}

另外,这是用于测试的插入语句:

update employees set salary=salary+10 where employee_id=100 or employee_id=101;
commit;

使用上面的代码,当数据库中插入一行时,我会收到通知。但我想从插入的行中获取值并将它们放入一个对象中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)