Além do software básico de conectividade do cliente Oracle, uma conexão Oracle com acesso aos recursos completos ao banco de dados requer o uso do que é conhecido como um provedor de dados gerenciado onde “gerenciado” refere-se ao código gerenciado pelo .NET. O provedor de dados é a camada entre o código. NET e o software de conectividade de cliente do Oracle. O Provedor de Dados Oracle para .NET (ODP.NET) é um ADO NET Oracle 2.0 de alto desempenho que expõe um conjunto completo de características específicas da Oracle e opções de ajuste, incluindo suporte para Real Application Clusters, DB XML e segurança avançada.
Obs: Caso não tenha instalado o ODAC 12c em seu computador você encontra um walkthrough de com instalar e configurar tanto o cliente ou o servidor Oracle, em nossa categoria SQL.
Conectando ao Oracle usando ODAC do Visual Studio
1 – Crie um novo projeto C# e Design Time disponha na tela 4 componentes Labels, 3 Textboxs e um Button e configure o layout com na figura abaixo:
2 – Na janela Solution Explorer com o botão direito no projeto clique em Add > Reference, na janela seguinte sobre o menu Assemblies > Extensions escolha a opção Oracle.DataAccess versão 4.112.2.0 e clique em OK:
3 – Use os trechos do código abaixo para completar o seu código gerado automaticamente.
Exemplo:
Neste exemplo utilizamos os Namespaces Oracle para conectar ao banco de dados usando Oracle Client, é possível distribuir sua aplicação sem que precise da instalação do cliente da Oracle distribuindo certos arquivos dll junto com sua aplicação.
C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Oracle.DataAccess.Client; // namespace Oracle
namespace ConexaoOracle
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Cria conexão com o banco de dados Oracle
static public void getDBConnection(string Username, string Password, string Datasource)
{
try
{
// String de Conexao
string connectionString =
// Usuario
"User Id=" + Username +
// Senha
";Password=" + Password +
// TNSnames
";Data Source=" + Datasource;
//Conecta ao datasource usando a conexão Oracle
OracleConnection conn = new OracleConnection(connectionString);
//Abre a conexão com o banco de dados
conn.Open();
MessageBox.Show("Conexão efetuada com sucesso");
}
// Retorna erro
catch (Exception ex)
{
// Mostra menssagem de erro
MessageBox.Show(ex.ToString());
}
}
private void button1_Click(object sender, EventArgs e)
{
// Cria conexão
getDBConnection(textBox1.Text, textBox2.Text, textBox3.Text);
}
}
}





Muito obrigado pela ajuda,
Tive que fazer uma pequena alteração informando host e porta em “Data Source”:
De:
// TNSnames
“;Data Source=” + Datasource;
Para:
// TNSnames
“;Data Source=localhost:1521/