.NET Framework Data Provider for Oracle
Padrão
Este funciona apenas com Oracle 8i release 3 ou posterior
Autenticação do Windows
Autenticação Proxy
Conexão Privilegiada com privilégios SYSDBA
Conexão Privilegiada com privilégios SYSOPER
Especificando nome de usuário e senha
Este funciona apenas com Oracle 8i release 3 ou posterior
Omitindo tnsnames.ora
Este é outro tipo de string de conexão Oracle que não depende de você ter um DSN para a conexão. Você cria uma string de conexão com base no formato usado no arquivo tnsnames.ora sem a necessidade de ter um desses arquivos no computador cliente.
Omitindo tnsnames.ora Alternativa
Alguns relataram problemas com o anterior e com o Visual Studio. Use o próximo se você encontrou problemas.
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.
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.
Utilizando a funcionalidade de Expiração de Senha
Primeiro, abra uma conexão com uma string de conexão. Quando a conexão é aberta, um erro é gerado porque a senha expirou. Capture o erro e execute o comando OpenWithNewPassword fornecendo a nova senha.
oConn.OpenWithNewPassword(sTheNewPassword);
Oracle Data Provider for .NET / ODP.NET
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.
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.
SYSOPER também é válido para o atributo DBA Privilege.
Desativar pooling
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.
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.
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.
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.
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.
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.
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
Artigo: "Oracle Data Provider for .NET" por Rama Mohan
Usando Segurança Integrada
Usando TNS
dotConnect for Oracle
Padrão
Microsoft OLE DB Provider for Oracle
Segurança padrão
Esta string de conexão usa um provedor da Microsoft.
Conexão Confiável
Oracle Provider for OLE DB
Segurança padrão
Conexão Confiável
Este especifica autenticação do SO a ser usada ao conectar-se a um banco de dados Oracle.
Controlando mecanismo de cache de conjunto de linhas
Especifica o tipo de cache usado pelo provedor para armazenar dados do conjunto de linhas. OraOLEDB oferece dois mecanismos de cache; Arquivo e Memória.
Memória é o valor padrão. Todos os dados do conjunto de linhas são armazenados na memória, o que oferece melhor desempenho à custa de uma maior utilização de memória.
Arquivo = Todos os dados do conjunto de linhas são armazenados no disco. Este mecanismo de cache limita o consumo de memória à custa do desempenho.
Controlando o tamanho do chunk
Este especifica o tamanho, em bytes, dos dados nas colunas LONG e LONG RAW buscados e armazenados no cache do provedor.
Providenciar um valor alto para este atributo melhora o desempenho, mas requer mais memória para armazenar os dados no conjunto de linhas. Os valores válidos são de 1 a 65535. O padrão é 100.
Controlando o tamanho do fetch
Este especifica o número de linhas que o provedor buscará de cada vez (array de busca).
O valor de FetchSize deve ser definido adequadamente dependendo do tamanho dos dados e do tempo de resposta da rede. Se o valor for definido muito alto, isso pode resultar em mais tempo de espera durante a execução da consulta. Se o valor for definido muito baixo, isso pode resultar em muitas mais viagens de ida e volta ao banco de dados. Os valores válidos são de 1 a 429,496,296. O padrão é 100.
Oracle XE, C++ ADO
Oracle XE, VB6 ADO
String de conexão sem TNS
Usando com Microsofts OLE DB .NET Data Provider
O Microsoft OLE DB .NET Data Provider pode utilizar o OraOLEDB como o OLE DB Provider para acessar o Oracle. No entanto, isso deve ser ativado na string de conexão.
O atributo de string de conexão OLEDB.NET não deve ser usado em aplicações ADO.
Usando OraOLEDB Custom Properties com Microsofts OLE DB .NET Data Provider
As propriedades SPPrmsLOB e NDatatype só podem ser definidas como atributos de string de conexão quando OraOLEDB é usado pelo OLE DB .NET Data Provider.
Usando ADO, essas propriedades teriam sido definidas como uma propriedade no comando. Isso não é possível ao usar o Microsofts OLE DB .NET Data Provider. Assim, as propriedades são especificadas na string de conexão em vez disso.
PLSQLRSet: Se o procedimento armazenado, fornecido pelo consumidor, retornar um conjunto de linhas, PLSQLRSet deve ser definido como TRUE (ativado).
NDatatype: Esta propriedade permite que os consumidores especifiquem se algum dos parâmetros vinculados ao comando são dos N datatypes da Oracle (NCHAR, NVARCHAR ou NCLOB). OraOLEDB precisa desta informação para detectar e vincular os parâmetros adequadamente. Esta propriedade não deve ser definida para comandos que executam instruções SELECT. No entanto, esta propriedade deve ser definida para todos os outros SQLs, como INSERT, UPDATE e DELETE.
SPPrmsLOB: Esta propriedade permite ao consumidor especificar se um ou mais dos parâmetros vinculados aos procedimentos armazenados são do datatype LOB da Oracle (CLOB, BLOB ou NCLOB). OraOLEDB requer que esta propriedade seja definida como TRUE, para buscar a lista de parâmetros do procedimento armazenado antes da execução. O uso desta propriedade limita a sobrecarga de processamento a procedimentos armazenados que têm um ou mais parâmetros do datatype LOB.
Usando transações distribuídas
Este especifica sessões para se inscrever em transações distribuídas. Este é o comportamento padrão.
Valores válidos são 0 (desativado) e 1 (ativado).
Microsoft ODBC Driver for Oracle
Versão Antiga
Microsoft ODBC for Oracle
Alternativa sem TSN.ora
Conectar diretamente
Nenhum TSN nem DSN necessário.
Nova versão
MSDataShape
MSDataShape (Oracle)
Oracle in OraClient11g_home1
Padrão
Ambos Server e Dbq
Algumas observações sobre o uso de ambas as palavras-chave Dbq e Server para fazer isso funcionar.
Server SID
Oracle in OraHome92
Padrão
Oracle in XEClient
Padrão
Oracle XE (ou "Oracle Database 10g Express Edition") é uma versão simples que é gratuita para distribuir.