Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera do iMasters.
Estou iniciando agora no desenvolvemento de Web Applications utilizando ASP.NET e C# com o Microsoft Visual Studio 2010 Professional.
Gostaria de saber, como ficaria a classe de conexão com o banco de dados Oracle XE?
Pesquisando pela internet eu criei uma classe, porém não deu certo, e não é do jeito que eu queria!
Gostaria de criar uma classe somente p/ conexão com o banco e outra classe somente com as operações(insert, delete, select)
O erro ocorre na linha
conn.open();
e diz o seguinte:
- OracleException was unhandled by user code";
- ORA-06413: Conexão não aberta;
A classe que eu criei foi a seguinte:
OBS: Adicionei a referencia System.Data.OracleClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Data.OracleClient;
namespace Banco
{
public partial class Principal : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnBotao_Click(object sender, EventArgs e)
{
//limpo a label de debug
lblMe.Text = "";
//string de conexão para oracle XE
string connection = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)" +
"(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=xe)));" +
"User Id=MEU_LOGIN; Password=MINHA_SENHA";
//crio o objeto de conexão, o parâmetro é minha string de conexão
OracleConnection conn = new OracleConnection(connection);
conn.Open();
//abro a conexão
//objeto de comando
OracleCommand cmd = new OracleCommand();
//frescura-bônus: string builder pode ser substituída por uma string normal,
//é útil quando se deseja construir comandos muito grandes
StringBuilder sb = new StringBuilder();
//construo o comando
sb.Append("SELECT A.ID, A.NOME FROM TBCLIENTE A");
//passo o comando (aqui poderia ser o comando diretamente)
cmd.CommandText = sb.ToString();
//informo que é do tipo texto
//a conexão do meu comando é o objeto con
cmd.Connection = conn;
//crio meu leitor de dados
OracleDataReader dr = cmd.ExecuteReader();
//enquanto houver dados para ler...
while (dr.Read())
{
//o nome entre [] é o nome da coluna
lblMe.Text += dr["id"] + " - " + dr["nome"] + "<br />";
}
//libero a memória ocupada pela conexão
conn.Dispose();
}
}
}
E se alguém tiver um sistema básico de Cadastro, com esse tipo de conexão com o banco, e poder postar, ficaria muito grato.
Agradeço desde já, abraços.Carregando comentários...