Recuperando dados do Oracle com VB.Net
Para começarmos a recuperar as informações do banco de dados Oracle, você já deve ter instalado Oracle Data Access Components (ODAC) em conjunto com o Microsoft Visual Studio e ter adicionado a referência do Oracle em seu Projeto.
Assim, dando continuidade vamos começar a desenvolver o código para interagir com o banco.
Após importar o namespace para o projeto
Imports System.Data
Imports Oracle.DataAccess.Client
Agora no evento de algum controle que pode ser um botão, label, checkbox ou qualquer outro controle será inserido o código:
Primeiro criaremos a string de conexão, é preferível que ela seja declarada em escopo público para vários forms que para uma aplicação com Oracle com certeza o acesso será em mais de um formulário, caso contrário em cada formulário seria necessário a declaração de uma nova string, sendo assim em um módulo escreva :
Public StringConexaoOracle as string=””
Agora em alguma sub atribuiremos a StringConexaoOracle o nome de usuário, senha e o serviço do netmanager, ficando assim:
StrConexaoOracle = “Data Source=NomeServicoOracle;Persist Security Info=True;” + ” User ID=MeuNomeUsuario ;Password=MinhaSenha”
Agora a string de conexão está feita, falta declararmos a conexão para abstrair a string de conexão:
Dim DsConsulta as new DataSet ‘Aqui é criado um dataset
DsConsulta.Clear ‘O dataset é limpo
Using ConexaoOracle As New OracleConnection(StringConexaoOracle) ‘ É criada a conexão abstraindo a string de conexão
Dim ComandoSql as String=”Aqui entra o comando SQL” É adicionado o comando SQL
Dim Command As New OracleCommand(ComandoSql, ConexaoOracle) ‘Command abstrai o comando SQL e a conexão
Dim AdapterAgendadorConsulta As New OracleDataAdapter(Command) ‘ É criado um DataAdapter que abstrai o DataCommand
ConexaoAgendadorConsulta.Open() ‘A conexão é aberta
AdapterAgendadorConsulta.Fill(DsConsulta, “Tabela_X”) ‘ Utilizando método fill o DataAdapter preenche o dataset com uma tabela de nome “Tabela_X”
ConexaoAgendadorConsulta.Close() ‘A conexão com o banco é fechada
End Using
A partir daqui o dataset está preenchido com os dados da consulta basta manipularmos os dados agora, jogarmos em um grid ou salvar.
Mas existem alguns limitadores para este código.
Lembre-se que o limite em memória virtual para uma aplicação 32bits é 2^32 o equivale a 4294967296, mas na prática chega a uns 2Gb, então se sua consultar retornar um volume de dados maior que isso, acontecerá um estouro de memória e se o código estiver como um bloco de tratamento de erro comoTry, Catch, Finally uma exceção será lançado senão o programa ficará com a tela branca e não respondendo o que não é muito profissional, isso é uma coisa importante a ser visada.
No próximo artigo mostrarei como utilizar o DataReader, ExecuteNonQuery(), ExecuteReader(), essas coisas (y) e falarei mais sobre a capacidade do sistemas 32 e 64bits.