---
title: SAIF.Framework.Connection dependencies
summary: Internal and external dependencies for this library.
status: draft
owner: <owner>
last_reviewed: 2026-07-23
library: SAIF.Framework.Connection
reference_type: package
---

# SAIF.Framework.Connection dependencies

`SAIF.Framework.Connection` has no internal project references; it depends on the Oracle managed data-access provider, a set of its transitive packages, and a remote `ConnectInfo` SOAP web service for connection-string resolution.

## Internal dependencies

None. `SAIF.BOF.Framework.Connection.vbproj` contains no `<ProjectReference>` elements — all references are external assemblies or NuGet packages.*

| Dependency | Type | Usage |
| --- | --- | --- |
| — | — | No internal project dependencies found. |

## External dependencies
| Dependency | Version | Usage |
| --- | --- | --- |
| `Oracle.ManagedDataAccess` | 21.5.0 | Provides the `OracleConnection` type used in the Oracle overload of `getConnection` (`Imports Oracle.ManagedDataAccess.Client`). |
| `System.Data.SqlClient` (.NET BCL) | n/a | Provides `SqlConnection`, used in the SQL Server overload of `getConnection`. |
| `System.Web.Services` (.NET BCL) | n/a | Base type (`SoapHttpClientProtocol`) for the generated `ConnectInfo` SOAP client proxy. |

## Transitive dependencies

Dependencies in this section are inherited from `Oracle.ManagedDataAccess` via `packages.config`. They are not directly referenced by this library's code but are required at runtime.

| Dependency | Source framework | Type | Usage |
| --- | --- | --- | --- |
| `Microsoft.Bcl.AsyncInterfaces` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |
| `System.Buffers` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |
| `System.Memory` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |
| `System.Numerics.Vectors` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |
| `System.Runtime.CompilerServices.Unsafe` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |
| `System.Text.Encodings.Web` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |
| `System.Text.Json` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |
| `System.Threading.Tasks.Extensions` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |
| `System.ValueTuple` | `Oracle.ManagedDataAccess` | Transitive | Required at runtime by `Oracle.ManagedDataAccess` 21.5.0.† |

† Purpose within `Oracle.ManagedDataAccess` itself is not detailed in the analysis findings; listed as declared in `packages.config`.*

## API dependencies

| Endpoint | Method | Called from | Purpose |
| --- | --- | --- | --- |
| `http://saifonline/WebServices/wsDBConnections/ConnectInfo.asmx` (`GetOracleConnectString`) | SOAP | `clsConnection` (Oracle `getConnection` overload, non-override path) | Resolve the Oracle connection string for a given instance/code/user. |
| `http://saifonline/WebServices/wsDBConnections/ConnectInfo.asmx` (`GetSQLConnectString`) | SOAP | `clsConnection` (SQL Server `getConnection` overload) | Resolve the SQL Server connection string for a given server/code/database. |

Note: the proxy also exposes `GetDB2ConnectString`, but it is not invoked anywhere in this library's live code.*

## Dependency risks and notes
- The non-override paths for both Oracle and SQL Server connection resolution introduce a hard runtime dependency on the availability of the remote `ConnectInfo` ASMX web service (`http://saifonline/WebServices/wsDBConnections/ConnectInfo.asmx`); if that service is unreachable, connection resolution fails for all callers that do not supply explicit Oracle credentials.*
- The Oracle-only local override path (via `New(inOracleUser, inOraclePassword)`) is the sole way to avoid this remote dependency, and it is unavailable for SQL Server connections.
- `SAIF.Framework.Connection` is not packaged as its own NuGet package. Its source files are instead captured by a broad nuspec glob (`..\**\*.vb;..\**\*.cs`) in `SAIF.Framework.Core\SAIF.BOF.Framework.Core.nuspec` and bundled into the repository-wide `SAIF.BOF.Framework` package, even though no `<ProjectReference>` links `SAIF.Framework.Core` to this library.* Whether `SAIF.Framework.Core` (or any other packaged project) actually consumes `clsConnection` at compile time is unverifiable from this library alone.**
- The web service endpoint URL (`SAIF_Framework_Connection_ConnectInfo_ConnectInfo` setting) is a full service URL that typically varies by deployment environment (dev/qa/prod), though only one value is declared in the analyzed `app.config`.*
- Whether `GetDB2ConnectString` is invoked by any other library or application in the repository is unknown; it is unused within `SAIF.Framework.Connection` itself.**
- The `oracle.manageddataaccess.client` custom configuration section is registered in `app.config` but contains no populated settings beyond section registration; whether it is populated by a merged/transformed config at deployment time is unknown.**

> **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.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Configuration](configuration.md)
- [API reference](api/index.md)

## Sources
- `SAIF.Framework.Connection\clsConnection.vb`
- `SAIF.Framework.Connection\SAIF.BOF.Framework.Connection.vbproj`
- `SAIF.Framework.Connection\packages.config`
- `SAIF.Framework.Connection\app.config`
- `SAIF.Framework.Connection\Web References\ConnectInfo\Reference.vb`
- `SAIF.Framework.Core\SAIF.BOF.Framework.Core.nuspec`
