SQLRDD - consultas em "SQL" no formato DBF, é LIB de terceiros
RDDADO - idem, tá na lib da RDDADO
ADOXB - idem, é LIB de terceiros
SQLMIX - idem, mas funciona Windows e Linux, tá na lib SQLMIX
ADO - Somente Windows e formato ADO, faz parte do Windows
Em todas, a consulta não é atualizada, teria que abrir sempre.
E Incluir, alterar, excluir é por comando SQL.
Exceto ADO, em todas o resultado da consulta é em formato dbf.
Em ADO, é igual a milhões de usuários de qualquer linguagem, o formato é ADO.
Abrir sempre é normal, porque cada consulta tem seu próprio resultado.
No SQL é o servidor que faz o serviço.
Quando inclui no terminal, ele avisa o servidor e é o servidor que inclui.
Commit? Se é o servidor que inclui, não existe commit no terminal.
Se as consultas são diretas no servidor, o resultado é sempre atualizado.
Se vai acrescentar um campo no arquivo, é o servidor que acrescenta, e pode decidir se congela as próximas consultas que necessitem dessa nova informação
O terminal não mexe em nenhum arquivo, o servidor faz o que quiser.
Até se quiser criar Ãndice, pode criar em uso, o servidor sabe exatamente o que está fazendo.
Acredito que com as RDDs seja igual, não sei se bloqueiam igual DBF.
Só uso ADO, sem nenhuma RDD. O resto, é pelo que andei lendo por aqui.
ADO = Microsoft, todo Windows tem, só precisa do CreateObject() do Harbour.
Um post meu antigo, com exemplo simples de ADO com DBFs
http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=15386&hilit=+ado
Independente de qualquer outra coisa, funciona no Windows muito bem, só perguntar pra qualquer um dos milhões de usuários.
A parte de programação, querendo ou não as outras opções também precisam de mudanças no fonte.
No ADO é esquecer estilo DBF de vez.
O ADO é uma espécie de RDD, a diferença das outras é que não está no Harbour, mas sim no Windows, sendo usada ou Não.
E tem controle total, sem depender de atualizações, correções ou melhorias.
E de extra, se um dia decidir abandonar o xbase, vai poder continuar usando exatamente do mesmo jeito. (será por isso que não é divulgado?)
E isso é só o arroz com feijão de um servidor, por exemplo, MySql.
Pode chegar ao ponto de eliminar até validações de campos no aplicativo, e deixar por conta do MySql.
No MySql Server, até telas de aplicativos podem estar salvas no banco de dados.