为什么在Oracle Database 12c上出现此错误



我想使用以下代码的Oracle Continuous Query Notification,但我得到了以下错误:

ORA-65131:不支持连续查询通知功能在可插入数据库中。

在线da.Fill(ds, tablename);

我已经在Visual Studio中添加了到SYS和HR的数据连接(SYS.PDBORCL和HR.PDBOCL(。使用SYS,我已经向HR.授予了更改通知

我使用的是Oracle数据库12.1.0.1.0。

您可以在以下表格中找到:

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 string constr = "User Id=hr; Password=Mypassword; Pooling=false; Data Source=PDBORCL;";

你能帮我吗?

谢谢。

错误消息非常清楚,您无法使用版本中的可插入数据库访问该功能。

12.1.0.1是Oracle的第一个多租户版本,并不是所有现有功能都能立即重新编码以使用新的体系结构。https://docs.oracle.com/database/121/READM/chapter12102.htm#READM120包含第一个版本中的所有限制的列表。

幸运的是,12.2.0.1包含了许多这样的功能,包括连续查询通知。看看它如何不再是中的限制https://docs.oracle.com/en/database/oracle/oracle-database/12.2/readm/features-not-available-12-2.html#GUID-73783D49-948A-4260-a63a-23FE71A3B7C3

对于新版本(2021年3月(,您应该关注Oracle 19c。

最新更新