UseClientInitiatedCQN

This property specifies, on a particular OracleConnection object, whether to use Client Initiated Continuous Query Notification (CICQN) or traditional Continuous Query Notification (CQN) that does not rely on a persistent connection.

Declaration

// C#
public bool UseClientInitiatedCQN { get; set;}

Property Type

System.Boolean

Exceptions

System.ObjectDisposedException - This property cannot be accessed after the OracleConnection object is already disposed.

Remarks

The default value is false.

When set to true, ODP.NET creates and uses a separate connection to receive server-initiated database change notifications. This is known as CICQN. This single connection aggregates all notifications for the pool, but the connection does not count toward the Min Pool Size nor the Max Pool Size limits. For managed ODP.NET, if there are five connection pools using CICQN, then ODP.NET will then have five additional connections, one per pool.

When set to false, then ODP.NET will use traditional CQN to receive the database change notifications. The client creates a listening end point (i.e., IP address and port) that does not rely on a database connection to continuously exist.

CICQN is commonly used in cloud scenarios or if firewalls between the database and client do not allow access to the client port. Otherwise, traditional CQN is used.

ODP.NET CICQN requires Oracle Database 21c or higher.

UseClientInitiatedCQN must be set to its intended value prior to opening a database connection.

The UseClientInitiatedCQN property can be configured on OracleConnection and OracleConfiguration objects. By default, OracleConnection UseClientInitiatedCQN property value inherits OracleConfiguration UseClientInitiatedCQN property value at construction time. The value of OracleConnection UseClientInitiatedCQN will be used during the connection.