Olá!
Itamar M. Lins Jr. escreveu:Como tabela de apenas leitura. Quero ver um programa de fora adicionar registros, fora os indices que precisa saber.
Repare nos dois ultimos fields! Tem RECNO e DELETED para simular DBF por isso as tabelas não podem ser compartilhadas(R/W) com outros programas/sistemas.
Como sabemos, SQLRDD é uma ferramenta que faz o meio de campo entre DBF e um SGBDR. Foi muito útil, como dito anteriormente, para migração de aplicações xBase/DBF para xBase/SQL. Mesmo depois de completada a migração, muitos continuam a usá-la.
Seria um absurdo se o SQLRDD limitasse o uso do banco de dados apenas à aplicação xBase que o criou. Ah mas tem SR_RECNO e SR_DELETED... sim, tem. Serve apenas para compatibilidade. Ah... mas e os índices? Quando se emite um CREATE INDEX... o SQLRDD converte o comando para SQL e o índice é criado no SGBDR.
Itamar M. Lins Jr. escreveu:Como tabela de apenas leitura. Quero ver um programa de fora adicionar registros, fora os indices que precisa saber. Como é que o programa de fora sabe o que é DELETED e RECNO ? Fora rlock(), flock(), dbunlock()...
Quem sabe disso blz, e quem não sabe ?
Não tem problema algum. É simples demonstrar isto. Se usa MySQL/MariaDB, conecte ao teu banco de dados (criado com xBase/SQLRDD) com o HeidiSQL. Ou se usa PostgreSQL, conecte via PGAdmin. Outros bancos? conecte via respectiva ferramenta. Vai ver todas as tabelas lá. Poderá fazer INSERT, SELECT, UPDATE e DELETE normalmente. O único cuidado a tomar é o seguinte: Se quiser manter a compatibilidade com o SQLRDD, ao invés de DELETE deve-se fazer UPDATE <tabela> SET SR_DELETED ='*' WHERE <condição>. Se fizer DELETE e quiser fazer RECALL no SQLRDD, o registro não vai mais existir... Note que a coluna SR_RECNO é auto increment.
janio escreveu:E quem nesse planeta abre o SEU banco de dados pra "programa de fora" escrever nele?
Isto é relativo, depende da necessidade e de quem é o tal "programa externo" Imagina que a empresa tenha uma aplicação xBase/SQLRDD/MySQL. Ela pode construir um site com PHP ou ASP .Net e escrever no mesmo banco de dados da aplicação xbase. Sem problemas...