Usando Pool de Conexões usando .NET Framework Data Provider for Oracle

Exemplo de string de conexão com Oracle usando .NET Framework Data Provider for Oracle

Exemplo de string de conexão

Essa é uma string de conexão .NET Framework Data Provider for Oracle para se conectar com Oracle.

Usando Pool de Conexões

O serviço de pool de conexões criará um novo pool se não puder encontrar nenhum pool existente que corresponda exatamente às propriedades da string de conexão da nova conexão. Se houver um pool correspondente, uma conexão será reciclada desse pool.

Data Source=BancoDeDados;User Id=Usuario;Password=Senha;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;

A primeira conexão aberta cria o pool de conexões. O serviço cria inicialmente o número de conexões definido pelo parâmetro Min Pool Size.

O atributo Incr Pool Size define o número de novas conexões a serem criadas pelo serviço de pool de conexões quando mais conexões são necessárias.

Quando uma conexão é fechada, o serviço de pool de conexões determina se o tempo de vida da conexão excedeu o valor do atributo Connection Lifetime. Se sim, a conexão é fechada; caso contrário, a conexão retorna ao pool de conexões.

O serviço de pool de conexões fecha conexões não utilizadas a cada 3 minutos. O atributo Decr Pool Size especifica o número máximo de conexões que podem ser fechadas a cada 3 minutos.

Conexão através de diferentes linguagens

C#

Exemplo de código em C# de conexão com Oracle usando .NET Framework Data Provider for Oracle:

using System;
using System.Data.OracleClient;

class DatabaseConnection {
    static void Main() {
        // Define a string de conexão Oracle usando .NET Framework Data Provider for Oracle
        string connectionString = "Data Source=BancoDeDados;User Id=Usuario;Password=Senha;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;";

        using (OracleConnection connection = new OracleConnection(connectionString)) {
            try {
                // Abre a conexão
                connection.Open();

                Console.WriteLine("Conexão aberta com sucesso!");

                //
                // INSIRA SEU CÓDIGO AQUI
                //
            }
            catch (OracleException ex) {
                // Erros específicos do OracleException
                Console.WriteLine("Erro: " + ex.Message);
            }
            catch (Exception ex) {
                // Outros erros
                Console.WriteLine("Erro: " + ex.Message);            
            }
            finally {
                // Fecha a conexão
                if (connection != null) {
                    connection.Close();
                    Console.WriteLine("Conexão fechada.");
                }
            }
        }
    }
}

Alternativamente, você pode usar o código abaixo, que usa a classe DbProviderFactory:

using System;
using System.Data.Common;

class DatabaseConnection {
    static void Main() {
        /// Define a string de conexão Oracle usando .NET Framework Data Provider for Oracle
        string connectionString = "Data Source=BancoDeDados;User Id=Usuario;Password=Senha;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;";

        // Cria o objeto factory usando o namespace System.Data.OracleClient
        DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient");

        using (DbConnection connection = factory.CreateConnection()) {
            if (connection == null) {
                Console.WriteLine("Não foi possível criar a conexão.");
                return;
            }

            connection.ConnectionString = connectionString;

            try {
                // Abre a conexão
                connection.Open();
                Console.WriteLine("Conexão aberta com sucesso!");

                //
                // INSIRA SEU CÓDIGO AQUI
                //
            }
            catch (DbException ex) {
                // Erros específicos do DbException
                Console.WriteLine("Erro: " + ex.Message);
            }
            catch (Exception ex) {
                // Outros erros
                Console.WriteLine("Erro: " + ex.Message);
            }
            finally {
                // Fecha a conexão
                if (connection != null) {
                    connection.Close();
                    Console.WriteLine("Conexão fechada.");
                }
            }
        }
    }
}

VB.NET

Exemplo de código em VB.NET de conexão com Oracle usando .NET Framework Data Provider for Oracle:

Imports System
Imports System.Data.OracleClient

Public Class DatabaseConnection
    Public Shared Sub Main()
        ' Define a string de conexão Oracle usando .NET Framework Data Provider for Oracle
        Dim connectionString As String = "Data Source=BancoDeDados;User Id=Usuario;Password=Senha;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;"

        Using connection As New OracleConnection(connectionString)
            Try
                ' Abre a conexão
                connection.Open()

                Console.WriteLine("Conexão aberta com sucesso!")

                '
                ' INSIRA SEU CÓDIGO AQUI
                '

            Catch ex As OracleException
                ' Erros específicos do OracleException
                Console.WriteLine("Erro: " & ex.Message)
            Catch ex As Exception
                ' Outros erros
                Console.WriteLine("Erro: " & ex.Message)
            Finally
                ' Fecha a conexão
                If connection IsNot Nothing Then
                    connection.Close()
                    Console.WriteLine("Conexão fechada.")
                End If
            End Try
        End Using
    End Sub
End Class

Alternativamente, você pode usar o código abaixo, que usa a classe DbProviderFactory:

Imports System
Imports System.Data.Common

Public Class DatabaseConnection
    Public Shared Sub Main()
        ' Define a string de conexão Oracle usando .NET Framework Data Provider for Oracle
        Dim connectionString As String = "Data Source=BancoDeDados;User Id=Usuario;Password=Senha;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;"

        ' Cria o objeto factory usando o namespace System.Data.OracleClient
        Dim factory As DbProviderFactory = DbProviderFactories.GetFactory("System.Data.OracleClient")

        Using connection As DbConnection = factory.CreateConnection()
            If connection Is Nothing Then
                Console.WriteLine("Não foi possível criar a conexão.")
                Return
            End If

            connection.ConnectionString = connectionString

            Try
                ' Abre a conexão
                connection.Open()
                Console.WriteLine("Conexão aberta com sucesso!")

                '
                ' INSIRA SEU CÓDIGO AQUI
                '

            Catch ex As DbException
                ' Erros específicos do DbException
                Console.WriteLine("Erro: " & ex.Message)
            Catch ex As Exception
                ' Outros erros
                Console.WriteLine("Erro: " & ex.Message)
            Finally
                ' Fecha a conexão
                If connection IsNot Nothing Then
                    connection.Close()
                    Console.WriteLine("Conexão fechada.")
                End If
            End Try
        End Using
    End Sub
End Class