Oracle Data Provider for .NET / ODP.NET

Strings de conexão para Oracle Data Provider for .NET / ODP.NET

Oracle

Balanceamento de Carga de Conexão em Tempo de Execução

Otimize o pooling de conexão para o banco de dados RAC, equilibrando as solicitações de trabalho entre as instâncias RAC.

Data Source=Servidor;User Id=Usuario;Password=Senha;Load Balancing=True;

Este recurso só pode ser usado contra um banco de dados RAC e somente se o pooling estiver habilitado (padrão).

Conexões Privilegiadas

O Oracle permite que os administradores de banco de dados se conectem ao Oracle Database com privilégios SYSDBA ou SYSOPER.

Data Source=Servidor;User Id=Usuario;Password=Senha;DBA Privilege=Usuario;

SYSOPER também é válido para o atributo DBA Privilege.

Desativar pooling

Data Source=Servidor;User Id=Usuario;Password=Senha;Pooling=False;

Especificando parâmetros de Pooling

Por padrão, o pooling de conexão está habilitado. Esta controla os mecanismos de pooling. O serviço de pooling de conexão cria pools de conexão usando a propriedade ConnectionString para identificar exclusivamente um pool.

Data Source=Servidor;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.

Método de Nomenclatura Easy Connect para conectar a uma Instância

Este não especifica um serviço ou uma porta.

Data Source=username/password@myserver//instancename;

Método de Nomenclatura Easy Connect para conectar a uma instância de servidor dedicado

Este não especifica um serviço ou uma porta.

Data Source=username/password@myserver/myservice:dedicated/instancename;

Outras opções de servidor: SHARED, POOLED (para usar em vez de DEDICATED). Dedicado é o padrão.

Restringindo tamanho do Pool

Use este para restringir o tamanho do pool.

Data Source=Servidor;User Id=Usuario;Password=Senha;Max Pool Size=40;Connection Timeout=60;

O atributo Max Pool Size define o número máximo de conexões para o pool de conexão. Se uma nova conexão for solicitada, mas não houver conexões disponíveis e o limite para Max Pool Size tiver sido alcançado, o serviço de pooling de conexão espera pelo tempo definido pelo atributo Connection Timeout. Se o tempo de Connection Timeout tiver sido atingido e ainda não houver conexões disponíveis no pool, o serviço de pooling de conexão gerará uma exceção indicando que a solicitação foi interrompida.

Usando autenticação de usuário do Windows

O Oracle pode abrir uma conexão usando as credenciais de login do usuário do Windows para autenticar os usuários do banco de dados.

Data Source=Servidor;User Id=/;

Se o atributo Senha for fornecido, ele é ignorado.

A Autenticação do Sistema Operacional não é suportada em um procedimento armazenado .NET.

Usando o Método de Nomeação Easy Connect (aka EZ Connect)

O método de nomeação de fácil conexão permite que os clientes se conectem a um banco de dados sem qualquer configuração.

Data Source=username/password@//myserver:1521/my.service.com;

A porta 1521 é usada se nenhum número de porta for especificado na string de conexão.

Certifique-se de que EZCONNECT está habilitado no arquivo sqlnet.ora. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

'//' na fonte de dados é opcional e está lá para habilitar valores de nome de host no estilo URL

Usando ODP.NET sem tnsnames.ora

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=Usuario;Password=Senha;

Artigo: "Oracle Data Provider for .NET" por Rama Mohan

Usando Segurança Integrada

Data Source=TORCL;Integrated Security=SSPI;

Usando TNS

Data Source=TORCL;User Id=Usuario;Password=Senha;