Register a database connection portal¶
This operation configures connection parameters on ApplicationDataAccess and registers a named SQL Server or Oracle data portal, delegating actual portal construction to SAIF.BOF.Framework.
| Field | Value |
|---|---|
| Operation ID | OP-APP-002 |
| Trigger | Concrete subclass code invokes CreateSQLServerPortal(inKey) or CreateOraclePortal(inKey), typically from OnCreateDataLayer() |
| Inputs | DBUser, Database, Server, BatchID (properties), inKey (portal registration key) |
| Outputs | Registered IDataPortalInfo, retrievable via DPI(inKey) |
| Primary components | ApplicationDataAccess.CreateSQLServerPortal, ApplicationDataAccess.CreateOraclePortal |
| Entry point | SAIF.Application\ApplicationDataAccess.vb |
Steps¶
- Concrete code (subclass) sets
ApplicationDataAccess.DBUser,.Database,.Server, and optionally.BatchIDproperties. No business rule is enforced at this step and no SQL/table access occurs. - Caller invokes
CreateSQLServerPortal(inKey)orCreateOraclePortal(inKey). The method populates an internalclsDataAccess.clsEnvironment(ClientID,DBUser,Database,Server,DBMSType=SqlServerorOracle) — overridingClientIDwithBatchIDwhen a non-empty batch ID has been set. No business rule is enforced by this library; no SQL statement is authored here — this class only configures connection parameters, it does not execute or hold SQL text. - Delegates to
SAIF.BOF.Framework: constructsNew clsSQLDataPortal(m_Env, True)orNew clsMSOracleDataPortal(m_Env), then callsDAL.AddDataPortal(portal, portal.PortalID & inKey)on the framework'sclsDataAccess/IDataAccessobject.
Origin: Portal construction (
clsSQLDataPortal/clsMSOracleDataPortal) andAddDataPortalregistration are implemented inSAIF.BOF.Framework. The framework's own portal-construction operation sequence was not resolved via RAG for this run and is not traced further here.** 3. The returnedIDataPortalInfois stored in the internalm_DPILibrary(SortedList(Of String, IDataPortalInfo)), keyed byinKey.ToLower, and is later retrievable via theDPI(inKey)property.
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Concrete subclass sets connection properties]) --> S1[Set DBUser, Database, Server, BatchID]
S1 --> S2[Call CreateSQLServerPortal or CreateOraclePortal]
S2 --> D{DBMS type?}
D -->|SQL Server| S3[Construct clsSQLDataPortal]
D -->|Oracle| S4[Construct clsMSOracleDataPortal]
S3 --> S5[DAL.AddDataPortal]
S4 --> S5
S5 --> S6[Store IDataPortalInfo in m_DPILibrary keyed by inKey]
S6 --> EndOk([Portal retrievable via DPI key])
Failure and edge-case behavior¶
- The framework's own
AddDataPortaloperation sequence was not resolved via RAG for this run and is not traced further here.**
Related documentation¶
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
SAIF.Application\ApplicationDataAccess.vb