Info Computação
Blog voltado para área de computação. Dicas, artigos, tutorias, notícias.
Mostrando postagens com marcador Oracle. Mostrar todas as postagens
Mostrando postagens com marcador Oracle. Mostrar todas as postagens

Deletando tabelas Oracle BIN$

Posted In: . By Thiago Fonseca

Usando o oracle 10g me deparei com um problema ao utilizar um gerador de class para Java a partir de um banco de dados e tive problema com um monte de tabelas que começava sempre com o nome BIN$ e terminava com ==0.
Pesquisando no velho google achei que se trata de uma opçao do oracle 10g servindo de proteção para os dados, ou seja, você drop uma tabela ela autimaticamente (caso esteja ativado) irá para o recycle bin.

Para deletar definitivamente do recycle bin utilizei o seguinte comando:

purge recyclebin;

Para saber mais sobre o recycle bin ver o o faq do site http://www.orafaq.com/node/968

Até mais

 

Atualizar dados com Zeos + Oracle, Delphi

Posted In: . By Thiago Fonseca

Após várias tentativas, integrar Oracle + Delphi + Zeos aparentemente ficou fácil!
Depois de algum tempo tentando integrar o Delphi 7 + Oracle, finalmente consegui!!
Estava com o seguinte problema: Conectava o Zeos a uma aplicação com banco de dados Oracle XE (free), conseguia atualizar tabelas (ZTables) mas para aplicações com muito tráfego atualizar tabelas não seria uma boa escolha pois ela trariam todas as tuplas da tabela, seria um select * da vida.
Então resolvi utilizar o ZQuery onde no programa coloco um sql do tip ( select * from cliente where cod_cli = :cod_cli). No construtor do programa abro a query.OPEN e então consigo visualizar os dados pesquisado (cod_cli). O problema estava quando tentava inserir, atualizar, ou deletar os dados. Simplesmente não fazia nenhuma ação.

Solução:

  • No componente Zconnection:
  1. configurar a propriedade TransactionIsolationLevel para tiReadCommited, com isso usuários só enxergaram dados atualizados
  2. Verificar o AutoCommit = true
  • No form de cadastro de cliente:
  1. Inserir um componente TZUpdateSQL, e para cada ação (insert, modify, delete) inserir os dados. Quais dados ? Eu fui na tentativa e erro e peguei todos os campos da minha tabela e fiz o seguinte
update cliente
set
cli_cod = :cli_cod,
cli_nome= :cli_nome,
cli_cpf = :cli_cpf,
cli_logradouro = :cli_logradouro,
...
where cli_cod = :old_cli_cod

Depois para na propriedade PARAMS definir o tipo de todos, repeti para as outras ações:
  • Insert:
insert into cliente(cli_cod,
cli_nome,
cli_cpf,
cli_logradouro, ...)
values( :cli_cod, cli_nome .....)

  • Delete
delete from cliente
where cli_cod =:cli_cod

Pronto! Na propriedade UpdateObject da query selecionei o componente TZUpdate e agora ORACLE RUN !!

Qualquer dúvida pode mandar email!

Até a próxima!