Olá Hasse,
Hasse escreveu:
1-No mesmo executável, preciso acessar arquivos remotos (via LetoDB) e também arquivos no HD local. Como proceder ?
Ficaria Assim:
Código: Selecionar todos
Function main()
REQUEST LETO
REQUEST DBFCDX
RDDSETDEFAULT( "LETO" ) // tudo que abrir como padrão sem informar o driver vai ser pelo LETODB
DBSETDRIVER( "LETO" )
DBSELECTAREA(0) // SELECIONA A PROXIMA AREA LIVRE
DBUseArea(.T.,,cServer1+'MAINFILE','MAINFILE',.T.) // vai abrir pelo banco padrão, nesse caso usando o LETODB
DBSELECTAREA(0) // SELECIONA A PROXIMA AREA LIVRE
DBUseArea(.T.,"DBFCDX",'MAINFILE','MAINFILE',.T.) // vai abrir pelo banco LOCAL
...
...
...
Return
2-No caso das funções Leto_BeginTransaction(), Leto_RollBack(), Leto_CommitTransaction(): Imagino que sejam de uso opcional ? É que eu tentei gravar dados sem eles e funcionou.
Sim, são opcionais, mas é um recurso deveras importante e muito bom que hoje só tem em bancos de dados Relacionais.
3-Se usada a Leto_BeginTransaction(), dados enviados via função PutFile(), estes dados ficariam aguardando no Buffer até receber a Leto_CommitTransaction() ?
Isso mesmo, ou se você der um Leto_RollBack() ele desfaz o que foi feito até o inicio da transação.
4-Se a Leto_RollBack() for usada antes do CommitTransaction() os dados do Buffer seriam zerados e nenhum dados gravado no HD ?
Na verdade quando você inicia uma transação(Leto_BeginTransaction()) ele só registra no banco de dados, depois que você der um Leto_CommitTransaction(), se nesse meio tempo der algum erro ou você em vez de mandar o Leto_CommitTransaction() mandar um Leto_RollBack(), ele não envia ou desfaz o que foi feito apartir do ponto que iniciou a transação.
5-Como ficam estes dados, se antes do Leto_CommitTransaction(), a conexão fosse perdida por algum motivo fora do nosso controle ? Os dados são gravados ?
Sempre que você inicia um transação( Leto_BeginTransaction()) o letodb guarda essas supostas gravações no buffer local e somente commita(grava) no banco de dados(.dbf) depois que você der um Leto_CommitTransaction().
Em tempo: Acredito que conseguimos fazer uma baita salada de assuntos neste tópico. Não seria uma boa idéia separar os assuntos em 2 tópicos ?
Bom, acho que está bem mais relacionado a LETODB do que a tamanho de DBF, vou apenas adicionar o LETODB ao nome do topico.