O banco de dados integrado com suporte a armazenamento isolado você pode recomendar?
-
01-07-2019 - |
Pergunta
Eu estou olhando para o motor de banco de dados integrado de apoio isolamento armazenamento. Atualmente eu estou ciente de VistaDB. O que mais você pode recomendar?
Os requisitos são bastante simples:
- implantação xcopy
- Suporte para armazenamento isolado
- de preferência livre
Note que você não sabe o caminho exato para o arquivo quando usando IS.
Solução
VistaDB parece ter suporte para o armazenamento isolado. Eu tenho usado por quase um ano agora e estou muito feliz com tudo redondo.
Não é gratuito, mas o seu preço começa em $ 60USD para a versão 4 (muito em breve ser lançado). Há um Express Edition livre mas isso é apenas para os projectos não comerciais.
Outras dicas
Na sequência Lloyd resposta, há uma biblioteca wrapper para SQLite chamado uSqlite que deve conseguir o que você está depois, diretamente ou com alteração mínima.
Para elaborar (por questão de acompanhamento de Aku) gostaria de sugerir modificando a rotina uSQLstPoll()
(contido no uSQLst.c).
Nesta fase você tem as informações da porta e endereço do cliente que liga para você (contida na sockaddr). Com base nessas informações você pode modificar a estrutura uSQLst
, para modificar o nome do arquivo de banco de dados local que você está se conectando.
Disclaimer: Note-se que esta é uma possível solução baseada na pequena investigação. Uma investigação mais profunda é sugerida antes de implantar.
SQLite é muito destina a ser incorporado e é gratuito.
Ele não suporta diretamente o armazenamento isolado, no entanto parece que seria bastante simples para invocar o armazenamento API isolada é mesmo, e passar o nome do arquivo gerado para o SQLite como o nome do arquivo deve usar.
Eu sei que esta questão é bastante antiga, mas o suporte VistaDB FAZ isolada e armazenamento é XCopy implementável. Não temos uma versão gratuita, porém, é um produto comercial.
Dê uma olhada no posto SO on de VistaDB para mais informações sobre outras coisas que apoiamos.
apoio armazenamento isolado é muito mais do que apenas não saber seu nome de arquivo. Você tem que trabalhar com fluxos, você tem que não exigem o bloqueio em nível de arquivo, você não pode criar arquivos temporários no mesmo caminho, você tem que entender as limitações do UAC e espaço.
AFAIK VistaDB é o banco de dados SQL única incorporado para sustentação isolada armazenamento.
Você poderia fazer algo parecido com Firebird incorporado .
Embora não suporta nativamente o armazenamento isolado, que deve ser bastante fácil de criar um novo banco de dados para cada usuário.