class EnsLib.SQL.InboundAdapter extends Ens.InboundAdapter, EnsLib.SQL.Common

SQL database polling client adapter. Repeatedly executes a query against a remote database via an ODBC- or JDBC- defined DSN (Data Source Name) and processes each resulting row.

Property Inventory

Method Inventory


parameter DOMAIN = ENSEMBLE;
parameter SERVICEINPUTCLASS = EnsLib.SQL.Snapshot;
parameter SETTINGS = Query:Data,Parameters:Data,ParamSQLTypes:Data,DeleteQuery:Data,KeyFieldName:Data,MaxVarCharLengthAsString:Data,DoNotInterruptResultSet:Data;
These are the production settings for this object


property DeleteQuery as %String);
If specified, used to delete rows after processing. Must have exactly one parameter for IDKey value
Property methods: DeleteQueryDisplayToLogical(), DeleteQueryGet(), DeleteQueryIsValid(), DeleteQueryLogicalToDisplay(), DeleteQueryLogicalToOdbc(), DeleteQueryNormalize(), DeleteQuerySet()
property DoNotInterruptResultSet as %Boolean [ InitialExpression = 0 ];
When a ResultSet is being processed the framework checks if the service ought to stop after each Row is processed.
Enabling this setting will mean that all Rows in a ResultSet will be processed by the service before checking if it ought to stop.
This should only be enabled if each row is processed without synchronous dependence on another business host.
It is intended to help where the SQL call that generated the ResultSet is such that all rows returned in the ResultSet are considered immediately processed without a separate SQL update/delete call and hence none of the rows in the ResultSet will be returned by a repeat invocation.
Property methods: DoNotInterruptResultSetDisplayToLogical(), DoNotInterruptResultSetGet(), DoNotInterruptResultSetIsValid(), DoNotInterruptResultSetLogicalToDisplay(), DoNotInterruptResultSetNormalize(), DoNotInterruptResultSetSet()
property KeyFieldName as %String [ InitialExpression = "ID" ];
The name of the IDKey field in the query's resultset. Must be unique (non-reused) over time if DeleteQuery is empty.
Property methods: KeyFieldNameDisplayToLogical(), KeyFieldNameGet(), KeyFieldNameIsValid(), KeyFieldNameLogicalToDisplay(), KeyFieldNameLogicalToOdbc(), KeyFieldNameNormalize(), KeyFieldNameSet()
property ParamSQLTypes as %String);
A comma-separated list of the SQL data types of each parameter used in the query (eg. SQL_CHAR,SQL_INTEGER). This may be required for the query to execute successfully if the datatypes are not SQL_VARCHAR (the default used when unspecified)
Property methods: ParamSQLTypesDisplayToLogical(), ParamSQLTypesGet(), ParamSQLTypesIsValid(), ParamSQLTypesLogicalToDisplay(), ParamSQLTypesLogicalToOdbc(), ParamSQLTypesNormalize(), ParamSQLTypesSet()
property Parameters as %String (MAXLEN = 1000);
A comma-separated list of parameter value specifiers, if any. These correspond to any replaceable ? parameters in the query string. % refers to Adapter properties such as %LastKey; $ refers to Service class properties; & refers to persistent values saved between invocations.
Property methods: ParametersDisplayToLogical(), ParametersGet(), ParametersIsValid(), ParametersLogicalToDisplay(), ParametersLogicalToOdbc(), ParametersNormalize(), ParametersSet()
property Query as %String) [ Required ];
The Base query string that will be repeatedly executed to look for new rows
Property methods: QueryDisplayToLogical(), QueryGet(), QueryIsValid(), QueryLogicalToDisplay(), QueryLogicalToOdbc(), QueryNormalize(), QuerySet()


classmethod GetPersistentValue(pConfigName As %String, pParamName As %String) as %String [ Language = objectscript ]
classmethod InitializeLastKeyValue(pConfigName As %String, pNewLastKey As %String = 0) as %String [ Language = objectscript ]
classmethod InitializePersistentValue(pConfigName As %String, pParamName As %String = "%LastKey", pNewValue As %String) as %String [ Language = objectscript ]
Set persistent value (default name=%LastKey) to new value only if it is currently undefined. Return old value if any.
method OnInit() as %Status [ Language = objectscript ]
Inherited description: This user callback method is called just after %OnNew()
method OnTask() as %Status [ Language = objectscript ]
Inherited description: default InboundAdapter behavior: always call ProcessInput on CallInterval
method OnTearDown() as %Status [ Language = objectscript ]
Inherited description: This user callback method is called just before %OnClose()
classmethod SetPersistentValue(pConfigName As %String, pParamName As %String, pValue As %String) as %String [ Language = objectscript ]

Inherited Members

Inherited Properties

Inherited Methods