# OracleDatabaseBuilderExtensions Methods

- Package: [Aspire.Hosting.Oracle](/reference/api/csharp/aspire.hosting.oracle.md)
- Type: [OracleDatabaseBuilderExtensions](/reference/api/csharp/aspire.hosting.oracle/oracledatabasebuilderextensions.md)
- Kind: `Methods`
- Members: `7`

Provides extension methods for adding Oracle Database resources to an `Hosting.IDistributedApplicationBuilder`.

## AddDatabase(IResourceBuilder<OracleDatabaseServerResource>, string, string?)

- Name: `AddDatabase(IResourceBuilder<OracleDatabaseServerResource>, string, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OracleDatabaseResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Oracle/OracleDatabaseBuilderExtensions.cs#L85-L93)

Adds a Oracle Database database to the application model.

```csharp
public static class OracleDatabaseBuilderExtensions
{
    public static IResourceBuilder<OracleDatabaseResource> AddDatabase(
        this IResourceBuilder<OracleDatabaseServerResource> builder,
        string name,
        string? databaseName = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<OracleDatabaseServerResource>`)
  The Oracle Database server resource builder.
- `name` (`string`)
  The name of the resource. This name will be used as the connection string name when referenced in a dependency.
- `databaseName` (`string?`) `optional`
  The name of the database. If not provided, this defaults to the same value as `name`.

## Returns

`IResourceBuilder<OracleDatabaseResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1`.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## AddOracle(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, int?)

- Name: `AddOracle(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, int?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OracleDatabaseServerResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Oracle/OracleDatabaseBuilderExtensions.cs#L36-L68)

Adds a Oracle Server resource to the application model. A container is used for local development.

```csharp
public static class OracleDatabaseBuilderExtensions
{
    public static IResourceBuilder<OracleDatabaseServerResource> AddOracle(
        this IDistributedApplicationBuilder builder,
        string name,
        IResourceBuilder<ParameterResource>? password = null,
        int? port = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IDistributedApplicationBuilder`)
  The `Hosting.IDistributedApplicationBuilder`.
- `name` (`string`)
  The name of the resource. This name will be used as the connection string name when referenced in a dependency.
- `password` (`IResourceBuilder<ParameterResource>`) `optional`
  The parameter used to provide the administrator password for the Oracle Server resource. If `null` a random password will be generated.
- `port` (`int?`) `optional`
  The host port for Oracle Server.

## Returns

`IResourceBuilder<OracleDatabaseServerResource>` -- A reference to the `ApplicationModel.IResourceBuilder`1`.

## Remarks

This version of the package defaults to the tag of the / container image.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## WithDataBindMount(IResourceBuilder<OracleDatabaseServerResource>, string)

- Name: `WithDataBindMount(IResourceBuilder<OracleDatabaseServerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OracleDatabaseServerResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Oracle/OracleDatabaseBuilderExtensions.cs#L121-L124)

Adds a bind mount for the data folder to a Oracle Database server container resource.

```csharp
public static class OracleDatabaseBuilderExtensions
{
    public static IResourceBuilder<OracleDatabaseServerResource> WithDataBindMount(
        this IResourceBuilder<OracleDatabaseServerResource> builder,
        string source)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<OracleDatabaseServerResource>`)
  The resource builder.
- `source` (`string`)
  The source directory on the host to mount into the container.

## Returns

`IResourceBuilder<OracleDatabaseServerResource>` -- The `ApplicationModel.IResourceBuilder`1`.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## WithDataVolume(IResourceBuilder<OracleDatabaseServerResource>, string?)

- Name: `WithDataVolume(IResourceBuilder<OracleDatabaseServerResource>, string?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OracleDatabaseServerResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Oracle/OracleDatabaseBuilderExtensions.cs#L106-L108)

Adds a named volume for the data folder to a Oracle Database server container resource.

```csharp
public static class OracleDatabaseBuilderExtensions
{
    public static IResourceBuilder<OracleDatabaseServerResource> WithDataVolume(
        this IResourceBuilder<OracleDatabaseServerResource> builder,
        string? name = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<OracleDatabaseServerResource>`)
  The resource builder.
- `name` (`string?`) `optional`
  The name of the volume. Defaults to an auto-generated name based on the application and resource names.

## Returns

`IResourceBuilder<OracleDatabaseServerResource>` -- The `ApplicationModel.IResourceBuilder`1`.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## WithDbSetupBindMount(IResourceBuilder<OracleDatabaseServerResource>, string)

- Name: `WithDbSetupBindMount(IResourceBuilder<OracleDatabaseServerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OracleDatabaseServerResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Oracle/OracleDatabaseBuilderExtensions.cs#L172-L175)

Adds a bind mount for the database setup folder to a Oracle Database server container resource.

```csharp
public static class OracleDatabaseBuilderExtensions
{
    public static IResourceBuilder<OracleDatabaseServerResource> WithDbSetupBindMount(
        this IResourceBuilder<OracleDatabaseServerResource> builder,
        string source)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<OracleDatabaseServerResource>`)
  The resource builder.
- `source` (`string`)
  The source directory on the host to mount into the container.

## Returns

`IResourceBuilder<OracleDatabaseServerResource>` -- The `ApplicationModel.IResourceBuilder`1`.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## WithInitBindMount(IResourceBuilder<OracleDatabaseServerResource>, string)

> **Obsolete:** Use WithInitFiles instead.

- Name: `WithInitBindMount(IResourceBuilder<OracleDatabaseServerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OracleDatabaseServerResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Oracle/OracleDatabaseBuilderExtensions.cs#L136-L139)

Adds a bind mount for the init folder to a Oracle Database server container resource.

```csharp
public static class OracleDatabaseBuilderExtensions
{
    public static IResourceBuilder<OracleDatabaseServerResource> WithInitBindMount(
        this IResourceBuilder<OracleDatabaseServerResource> builder,
        string source)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<OracleDatabaseServerResource>`)
  The resource builder.
- `source` (`string`)
  The source directory on the host to mount into the container.

## Returns

`IResourceBuilder<OracleDatabaseServerResource>` -- The `ApplicationModel.IResourceBuilder`1`.

## WithInitFiles(IResourceBuilder<OracleDatabaseServerResource>, string)

- Name: `WithInitFiles(IResourceBuilder<OracleDatabaseServerResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OracleDatabaseServerResource>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/cbc352350f1a9bafbaff10d14a2c8de4ac186a48/src/Aspire.Hosting.Oracle/OracleDatabaseBuilderExtensions.cs#L152-L159)

Copies init files into a Oracle Database server container resource.

```csharp
public static class OracleDatabaseBuilderExtensions
{
    public static IResourceBuilder<OracleDatabaseServerResource> WithInitFiles(
        this IResourceBuilder<OracleDatabaseServerResource> builder,
        string source)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<OracleDatabaseServerResource>`)
  The resource builder.
- `source` (`string`)
  The source file or directory on the host to copy into the container.

## Returns

`IResourceBuilder<OracleDatabaseServerResource>` -- The `ApplicationModel.IResourceBuilder`1`.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.
