我开发了一个使用数据库机会通知功能的Windows服务。
当我使用查询监控表时,它工作正常。
如果我的查询指向一个视图,我收到此错误消息:
Oracle.ManagedDataAccess.Client.OracleException (0x0000751F): ORA-29983: Unsupported query for Continuous Query Notification
at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean bFirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, OracleException& exceptionForArrayBindDML, Boolean isFromEF)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()
当我使用以下语法中的联接时,我也收到此消息:
select
t1.Col1,
t1.Col2,
t2.Col1
from Table1 t1
inner join Table2 t2 on (t2.FK_T1_ID = t1.ID)
使用以下语法,它可以正常工作
select
t1.Col1,
t1.Col2,
t2.Col1
from Table1 t1, Table2 t2
where t2.FK_T1_ID = t1.ID
我的问题是,是否有支持的查询类型列表? (对表,视图,物化视图,dblinks,连接等的查询等)
我使用的是Oracle.ManagedDataAccess.dll版本4.121.2.0
支持Oracle.DataAccess.dll更多类型作为Oracle.ManagedDataAccess.dll吗?