Grande Rodrigo.
Era justamente oq eu imaginava mas eu não queria acreditar nisso, rs.
Isso vai me dar um trampo, vou ter que criar DROPS para cara CREATE para dropar 
no caso de erro.

Obrigado Rodrigo e a todos que deram atenção ao meu problema
Boa tarde a todos.

Jose Otavio
  ----- Original Message ----- 
  From: Rodrigo O. Farias 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, July 31, 2006 10:50 AM
  Subject: RES: [delphi-br] Mistério CONTINUA na Transação com FB.


  Não é só no FB, outros bancos utilizam essa restrição, pq criação de tabelas
  é um processo DDL, e insert é um processo MDL, e processos DDL não são
  passiveis de controle de transação, transação envolve manipulação de dados,
  o que não ocorre em comandos de modelagem do banco de dados.




  ----------------------
  Rodrigo Othávio Farias 



  -----Mensagem original-----
  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
  nome de José Otavio DTI
  Enviada em: segunda-feira, 31 de julho de 2006 10:43
  Para: delphi-br@yahoogrupos.com.br
  Assunto: Re: [delphi-br] Mistério CONTINUA na Transação com FB.

  Bom... se for isso, o esquema de transacao do IB é uma porcaria!
  Valeu Felipe.

  Alguem mais pode me ajudar?
    ----- Original Message ----- 
    From: Fellipe Henrique 
    To: delphi-br@yahoogrupos.com.br 
    Sent: Monday, July 31, 2006 10:25 AM
    Subject: Re: [delphi-br] Mistério CONTINUA na Transação com FB.


    amigo, eu acho, que vc nao pode mexer em tabelas e tals, sendo q ele ainda
    nao foi criada... o jeito certo, e vc comitar os create tables, depois
    starta outra transacao para fazer as suas verificacoes e tals..

    Em 31/07/06, José Otavio DTI <[EMAIL PROTECTED]> escreveu:
    >
    > Eu sei q isso funciona
    > Mas eu pergunto agora.... pra que serve essa droga de processo com
    > transacoes se eu nao posso criar uma tabela, inserir dados e dar
  rollback em
    > caso de erro???
    >
    > eu nao posso dar commit pois antes de criar a tabela, eu tenho outros
    > comandos que nao podem ser commitados no caso de erro.
    >
    > Será q existe alguma regra na transacao do tipo:
    > Criacao de tabela deve ser comitada senao a transacao nao enxerga..
    >
    > Que raio de transacao é essa do FB????
    >
    >
    >   ----- Original Message -----
    >   From: Fellipe Henrique
    >   To: delphi-br@yahoogrupos.com.br
    >   Sent: Monday, July 31, 2006 10:02 AM
    >   Subject: Re: [delphi-br] Mistério na Transação com FB.
    >
    >
    >   Amigo, realmente o erro vai dar, pois a tabela Teste nao existe, e
  esta
    > na
    >   mesma transacao.. o que voce pode fazer eh apos o Create Table dar um
    >   CommitRetaining.... assim voce comita  e permanece na mesma
  transacao..
    > ou
    >   usar uma transacao diferente ara a criacao da tabela...
    >
    >
    >   []s
    >
    >   Em 31/07/06, José Otavio DTI <[EMAIL PROTECTED]>
    > escreveu:
    >
    >   >
    >   > Bom dia a todos.
    >   >
    >   > Estou usando um IBTransaction ligado a um IBDataBase
    >   > Estou usando um IBQuery ligado a este Transaction para executar as
    >   > seguintes instruções:
    >   >
    >   > Transacao.StarTransaction
    >   >    try
    >   >       // Instruções SQL executadas no IBQuery que está ligado a
    > transação
    >   > em questão
    >   >       <instrução SQL> --------------------------------------------->
    > OK
    >   >       <instrução SQL> --------------------------------------------->
    > OK
    >   >       <instrução SQL> --------------------------------------------->
    > OK
    >   >       Create Table Teste (cTeste VarChar(20)); -----------> OK
    >   >       Insert into Teste (cTeste) Values ('Texto')   --------->
  ERRO!!!
    >   >    except
    >   >       Transacao.Rollback
    >   >    end;
    >   > Transacao.Commit
    >   >
    >   > O problema ocorre na hora de dar o insert... da um erro dizendo que
  a
    >   > tabela Teste não existe.
    >   > Teoricamente, era pra transação enxergar a tabela, uma vez que ela
    > esta
    >   > sendo criada na mesma.
    >   > Se eu der um commit após o create, funciona corretamente.
    >   > Mas estou trabalhando com transacao justamente para dar o commit só
  no
    >   > final.... pois se acontecer allgum erro, posso dar rollback e
  cancelar
    >   > tudo... inclusive a criação da tabela.
    >   >
    >   > Qualquer instrução SQL nesta transação, funciona corretamente... só
  o
    >   > Ceate Table não funciona.
    >   > Ele executa o create mas a transação nao enxerga a tabela.
    >   >
    >   > Será que as instruções em uma transação só funcionam com as tabelas
  ja
    >   > criadas?
    >   >
    >   > Creio que não estou trabalhando de forma errada com a conexão e seus
    >   > parametros... pois quando dou inserts numa tabela ja criada,
  funciona
    >   > corretamente... e se precisar dar Rollback também.
    >   >
    >   > Alguém desvenda este mistério?
    >   >
    >   >
    >   > Agradeço desde já a atenção de todos.
    >   >
    >   > Jose Otavio
    >   >
    >   > [As partes desta mensagem que não continham texto foram removidas]
    >   >
    >   >
    >   >
    >
    >
    >
    >   --
    >   _________________________________
    >   Fellipe Henrique
    >   [EMAIL PROTECTED]
    >
    >   Borland Developer Studio 2006 Certified
    >
    >   "Venham até a borda, ele disse.
    >   Eles disseram: Nós temos medo.
    >   Venham até a borda, ele insistiu.
    >   Eles foram, Ele os empurrou...
    >   E eles voaram."
    >   (Guillaume Apollinaire)
    >
    >
    >
    >   [As partes desta mensagem que não continham texto foram removidas]
    >
    >
    >
    > [As partes desta mensagem que não continham texto foram removidas]
    >
    > 
    >



    -- 
    _________________________________
    Fellipe Henrique
    [EMAIL PROTECTED]

    Borland Developer Studio 2006 Certified

    "Venham até a borda, ele disse.
    Eles disseram: Nós temos medo.
    Venham até a borda, ele insistiu.
    Eles foram, Ele os empurrou...
    E eles voaram."
    (Guillaume Apollinaire)


    [As partes desta mensagem que não continham texto foram removidas]

     

  [As partes desta mensagem que não continham texto foram removidas]



  -- 
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>



  Links do Yahoo! Grupos










   

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a