Compartilhar via


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.