---
title: DbConnection overview
summary: Which service this proxy calls, who consumes it, and what it is used for.
status: draft
owner: SAIF.Core documentation
last_reviewed: 2026-09-24
---

# DbConnection overview

`DbConnection` is a svcutil-generated SOAP proxy inside `SAIF.Services.Web.Proxies` that retrieves database connection strings (including embedded credentials) for Oracle and SQL Server data sources from the external `ConnectInfo`† ASMX service, and the repository holds it because `SAIF.Services.Common.DbConnectionService` needs those connection strings at runtime.

## Purpose
- Resolve a full Oracle or SQL Server connection string, by pool code and database instance, from the external `ConnectInfo` service so calling code does not need to store credentials locally.

## Business context

`ConnectInfo` centralizes connection-string management so this repository's services never store database credentials directly; instead they ask the remote service for a connection string keyed by a SAIF pool code (for example `CLM`, `IMG`, `AGNT`, `CRYPT`) and a database instance name.

| Attribute | Value |
| --- | --- |
| Business capability | Centralized resolution of database connection strings (including credentials) by pool code and instance |
| Owning team of the called service | Not determined from source |
| Criticality to the consumer | Not determined from source |
| Fallback when unavailable | None — the calling operation fails |

## Consumers

| Consumer | Call site | Operations used | Notes |
| --- | --- | --- | --- |
| `SAIF.Services.Web.Proxies.Legacy.DbConnectionServiceProxy.GetOracleConnectionString` | `Services/SAIF.Services.Web.Proxies/Legacy/DbConnectionsServiceProxy.cs:31` | [`GetODPConnectString`](reference.md#getodpconnectstring) | Calls the ODP operation, not `GetOracleConnectString`, despite the method's name |
| `SAIF.Services.Web.Proxies.Legacy.DbConnectionServiceProxy.GetSqlServerConnectionString` | `Services/SAIF.Services.Web.Proxies/Legacy/DbConnectionsServiceProxy.cs:45` | [`GetSQLConnectString`](reference.md#getsqlconnectstring) | Called from `SAIF.Services.Common.DbConnectionService.GetConnectionString(server, instance, userName)` |

The upstream `SAIF.Services.Common.DbConnectionService` is not constructed anywhere in this repository's source (no `new DbConnectionService(` and no Autofac registration in `DependencyMaps/`), so its own callers are external package consumers*. `SAIF.Services.Common` is itself an eligible library in `library-eligibility.json`.

## Capability summary

| Capability | Operations | Description |
| --- | --- | --- |
| Oracle connection string retrieval | [`GetODPConnectString`](reference.md#getodpconnectstring) | Resolves an Oracle connection string for a pool code and database instance |
| SQL Server connection string retrieval | [`GetSQLConnectString`](reference.md#getsqlconnectstring) | Resolves a SQL Server connection string for a server, pool code, and database instance |

The full declared surface, including `GetOracleConnectString`, `GetDB2ConnectString`, `ClearCache`, and `GetCache`, is on [Contract](contract.md), and the present-versus-called reconciliation is on [Operation map](operation-map.md).

## Generation provenance

| Aspect | Finding |
| --- | --- |
| Generated by | `svcutil` (Service Reference) |
| Generated from | `Services/SAIF.Services.Web.Proxies/Service References/DbConnection/connectinfo.wsdl` |
| Discovery document | `Services/SAIF.Services.Web.Proxies/Service References/DbConnection/connectinfo.disco` |
| Generated namespace | `SAIF.Services.Web.Proxies.DbConnection` |
| Namespace matches the consuming project | Yes |
| Regeneration risk | The generated proxy exposes `Begin*`/`End*` asynchronous pairs (`Reference.svcmap` sets `GenerateAsynchronousMethods = true`) that repository code never calls; refreshing the reference is otherwise low risk because no hand edits to `Reference.cs` were found |

## Non-documented artifacts

- `Reference.cs`, its generated `Begin*`/`End*` async pairs, and the `configuration*.svcinfo`/`Reference.svcmap` designer artifacts under `Service References/DbConnection/` are tool output and are not narrated beyond the provenance facts above, per the generated-code doctrine on [Client index](index.md).

## Related documentation
- [Client index](index.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Operation map](operation-map.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence.

## Sources
- `Services/SAIF.Services.Web.Proxies/Legacy/DbConnectionsServiceProxy.cs`
- `Services/SAIF.Services.Common/DbConnectionService.cs`
- `Services/SAIF.Services.Web.Proxies/Service References/DbConnection/connectinfo.wsdl`
