Boa alternativa gratuita para MS Access [fechado]

102

Considere a necessidade de desenvolver um aplicativo de banco de dados de desktop leve nas plataformas Microsoft.

Isso poderia ser feito facilmente com o MS Access, mas eu gostaria de poder distribuí-lo para outras pessoas e não quero pagar por uma licença runtime.

Requisitos:

  • distribuição fácil para outros
  • sem problemas de licenciamento em tempo de execução

Considerações e candidatos:

  • Base da suíte OpenOffice . Minhas preocupações eram em torno de sua estabilidade.
  • MySQL + escrevendo código de banco de dados customizado em C ++ ou Python ou o que quer que pareça uma solução bastante pesada.

Pergunta : Quais são as alternativas de banco de dados de baixo custo ou grátis para o MS Access?


Consulte também: Mecanismos de relatórios de código aberto



@Schnapple

Bruceatk meio que acertou no que estou pensando; não é tanto o mecanismo de banco de dados quanto eu quero as outras sutilezas que o Access traz para a festa. O bom designer de formulários, o bom mecanismo de relatórios, etc. Mas você levanta um ponto muito bom sobre a pegada de instalação. Eu tinha considerado isso, mas ainda não tomei nenhuma decisão firme sobre o caminho que vou fazer com isso. Provavelmente será algo bastante leve de qualquer maneira e uma pequena pegada de instalação definitivamente seria uma vantagem.


@Remou,

Não, eu não sabia que o tempo de execução do MS Access 2007 é gratuito; Obrigado por apontar isso. A última vez que me preocupei em investigá-la (não me lembro quando foi), acho que era uma licença bastante cara para o tempo de execução, porque acho que eles estavam tentando vendê-la para departamentos de TI corporativos.

E obrigado a todos que responderam também; Eu desconhecia completamente as outras opções que todos vocês apontaram.

casperOne
fonte
3
Todas as soluções propostas na resposta escolhida são sobre o back-end (o próprio db). Nunca houve nenhum custo associado à distribuição de um banco de dados de jatos! Portanto, esta questão é um pouco confusa se o pcampbell está procurando um front-end, um back-end ou ambos.
Patrick Honorez
1
@Patrick Honorez, não foi a pcampbell que fez a pergunta inicialmente; Eu fiz. Acabei de convertê-lo para Community Wiki há muito tempo e o pcampbell foi a última pessoa a editá-lo. Eu queria algo que incluísse o back-end, consulta visual e mecanismo de relatório. O back-end é fácil - a consulta visual e os relatórios que nunca encontrei em grande escala além do Access.
Onorio Catenacci
Não achei o Access instável, contanto que você tenha o JRE correto. Também existe o Libre Office Base que você pode experimentar. Embora você possa importar tabelas do Access e provavelmente não espere executar o VBA nele, também não pode importar formulários. Além disso, OOBase é um banco de dados totalmente viável (pelo menos para bancos de dados menores com demandas mais leves).
CodeLurker

Respostas:

61

Uma coisa a ter em mente aqui é que o produto MS Access é muito mais do que apenas o mecanismo de banco de dados bruto. Ele fornece uma plataforma de desenvolvimento de aplicativo completa, incluindo designer de formulário e menu, linguagem e ambiente de aplicativo cliente (VBA) e designer de relatório. Quando você junta todas essas coisas, o MS Access realmente não tem par.

Mas para o escopo desta questão, estamos preocupados com o mecanismo de banco de dados bruto. Com aquilo em mente:

SQLlite ,
Firebird ,
VistaDB (não grátis),
SQL Server Compact Edition (não Express)
e agora SQL Server LocalDB
vêm à mente.

Outro pensamento: embora a pergunta original seja sobre bancos de dados de desktop, é provável que algumas pessoas cheguem aqui procurando um banco de dados para usar com um site. É importante lembrar que todos esses são bancos de dados em processo e, como tal, raramente ou nunca são apropriados para uso na web. Se você deseja construir um site da Web, onde é comum a necessidade de suportar acesso simultâneo significativo, você geralmente deseja um mecanismo de servidor de banco de dados , como MS SQL, Postgresql, MySQL, Oracle ou seus irmãos. Ao mesmo tempo, esses mecanismos de servidor raramente ou nunca são apropriados para um aplicativo de desktop de usuário único.

Joel Coehoorn
fonte
... exceto para Firebird, que ultrapassa a fronteira e pode ser usado em qualquer cenário. Bons pontos, no entanto.
user60401
7
SQLite, adoro isso.
Alix Axel
Por que SQL Server Compact Edition e não Express? É só por causa do tamanho?
Mark3308
@Mark - Express Edition ainda é um banco de dados de classe de servidor, e não um banco de dados em processo como os outros. Leia a 2ª parte da resposta e tudo o que há sobre motores de servidor (incluindo a última frase) se aplica à Express Edition.
Joel Coehoorn
OK, eu não sabia que a Compact Edition era um banco de dados In Process. Obrigado por apontar isso.
Mark3308
127

Quando as pessoas perguntam sobre uma substituição para o Access, muitas delas apenas pensam no banco de dados, mas o que elas realmente estão perguntando são todos os outros recursos do Access. Eles geralmente não se importam com qual banco de dados o Access está usando.

Algumas das funcionalidades fornecidas pelo Access são: Formulários, Criação de Consulta, Relatórios, Macros, Gerenciamento de Banco de Dados e algum tipo de linguagem quando você precisar ir além do que os assistentes fornecem.

SQLite , MySQL e FireBird são back-ends de banco de dados gratuitos. Eles não têm essas funções adicionais de acesso incorporadas a eles. Quaisquer alternativas gratuitas para o Access requerem que você combine algo como SQLite e uma linguagem de desenvolvimento.

Provavelmente, a melhor opção gratuita seria SQLite e Visual Basic 2008 ou C # 2008 Express Edition . Isso teria uma grande dependência de tempo de execução, portanto, instalar em um cliente vazio pode exigir muito do instalador.

Realmente não existe uma opção sem acesso de graça com requisitos mínimos de tempo de execução. Eu gostaria que houvesse.

Estarei interessado em ouvir se alguém conhece alguma boa alternativa.

Bruceatk
fonte
5
sim ... as pessoas não percebem o poder do acesso como um ambiente de desenvolvimento integrado, como você destacou ... não há nada gratuito que se compare ao acesso do microsoft com a maioria (muito menos todos) dos recursos integrados. quando você tem acesso ... você pode fazer muitas coisas em uma fração de tempo que requer para alcançar por outros meios ... 100% concordou com sua resposta @bruceatk
ihightower
69

Você está ciente de que o tempo de execução do Access 2007 pode ser baixado gratuitamente?

Links para versões mais recentes:

Fionnuala
fonte
2
Tenho certeza de que as licenças de tempo de execução do Access 2003 não eram gratuitas ... mas sim ... com o Access 2007, você não precisa pagar pelas licenças.
Brett G
68

Schnapple pergunta:

Você está se referindo ao conceito de um banco de dados gratuito para distribuir com um aplicativo ou de um banco de dados "arquivo único, sem instalação" semelhante ao Access?

Er, ninguém que tenha qualquer competência com desenvolvimento de aplicativos Access distribuiria um único MDB / ACCDB como aplicativo / armazenamento de dados. Qualquer aplicativo não trivial do Access precisa ser dividido em um front end com os formulários / consultas / relatórios (ou seja, objetos de IU) e um back end (apenas tabelas de dados).

É claro que o que é necessário aqui é uma ferramenta de desenvolvimento de aplicativo de banco de dados como o Access. Nenhuma das respostas apenas do banco de dados responde a isso de forma alguma.

Aprenda sobre o Access antes de responder às perguntas sobre o Access:

  • O Access é uma ferramenta de desenvolvimento de aplicativo de banco de dados que vem com um mecanismo de banco de dados padrão chamado Jet.

  • Mas um aplicativo Access pode ser construído para trabalhar com dados em quase qualquer banco de dados de back-end, desde que haja um ISAM ou um driver ODBC ou OLEDB para esse mecanismo de banco de dados.

A própria Microsoft fez um bom trabalho em ofuscar a diferença entre o Access (ferramenta de desenvolvimento) e o Jet (mecanismo de banco de dados), então não é surpresa que muitas pessoas não reconheçam a diferença. Mas os desenvolvedores devem usar uma linguagem precisa e, quando você se refere ao mecanismo de banco de dados, use "Jet" e, quando se refere à plataforma de desenvolvimento front-end, use "Access".

David-W-Fenton
fonte
Tecnicamente, David, no Access 2007 e em versões de arquivo posteriores, ele usa uma versão específica do Office do Jet chamada Access Connectivity Engine (ACE).
Bobort
17

Para ser honesto - não existem alternativas gratuitas para o MS Access. Pelo menos se você quer dizer ferramenta de desenvolvimento de banco de dados (formulários, relatórios, consultas, suporte VBA etc.). Se você pensa no MS Access como um mecanismo de banco de dados (na verdade, você quer dizer MS Jet ou ACE), então sim - você tem muitas possibilidades. Existem muitos mecanismos de banco de dados gratuitos - os mais populares são MySQL e PostgreSQL. Posso recomendar ambos - depende do que você deseja fazer.

Para escrever front-ends de banco de dados, C ++ é uma das piores escolhas. Você deve considerar o MS Visual C #, MS Visual Basic .NET ou ... Mesmo Java / Swing (se estivermos falando sobre aplicativos de desktop). Se você pensar sobre o front-end habilitado para web - considere PHP (com MySQL ou PostgreSQL no backend) ou ASP.NET (com MSSQL Server no backend).

Eu recomendo fortemente que você não use C ++ para esse trabalho. Essa linguagem é muito eficiente e flexível, mas o desenvolvimento avançado de front-end de banco de dados com C ++ não é a melhor ideia. C ++ é ótimo em programação de sistema, desenvolvimento de jogos, simulações de matemática e física, em todos os lugares onde a eficiência é a chave - como aplicativos em tempo real, etc. Os front-ends não precisam ser daemons de velocidade - eles devem ter uma boa aparência e um usuário final avançado recursos (como classificação, coloração, etc.). Se você está procurando ferramentas gratuitas - talvez C # Express ou Visual Basic.NET Express 2008 seja a escolha certa? Ou talvez Java / Swing (verifique o NetBeans IDE)? Talvez SharpDevelop? Mas não C ++ ... Deixe C ++ para as coisas que melhor se adequam.

Pawel Wawrzyniak
fonte
15

Verificação de saída suneido .

Eu fiz um aplicativo GIS bastante complicado como um experimento com ele alguns anos atrás (banco de dados, interface de usuário complexa, relatórios, cliente / servidor). Foi uma experiência agradável (além de alguns problemas de documentação ...) e tornei-me produtivo com ela muito rápido.

Eu não uso mais principalmente porque:

  • não é realmente um propósito geral
  • não é plataforma cruzada (somente Windows)
  • Decidi parar de explorar tecnologias exóticas e me especializar em algo mais convencional.
Toni Ruža
fonte
10

Das alternativas de Software Livre, estas ainda não foram mencionadas:

Eu também ficaria de olho nas ferramentas DB RAD que a comunidade Flex / Air está criando, já que com essas ferramentas é possível obter interfaces de desktop e web unificadas.

Akaihola
fonte
1
Rekall parece estar morto e Glom parece imaturo e não muito usado ainda. Eu pularia totalmente o paradigma cliente-servidor e escolheria algo da web 2.0, como o WaveMaker.
Robin Green
1
Glom não parece ter sido atualizado desde 2012, então provavelmente está morto neste momento.
WhatEvil
9

Oracle XE com Application Express.

  • Tem um bom gui baseado na web,
  • É um banco de dados "real"
  • Escalará além de um único desktop
  • Oferece um caminho de escala claro além de uma pequena equipe
  • Aplicações baseadas na web, de fácil acesso.
  • Pode converter planilhas do Excel em aplicativos
Matthew Watson
fonte
7

A questão é encontrar uma alternativa para o MS Access que inclua um ambiente de desenvolvimento visual, arrastar e soltar com um banco de dados "razoável" onde todo o kit e caboodle podem ser implantados gratuitamente.

Minha primeira sugestão seria olhar para esta lista muito completa de alternativas do MS Access (muitas das quais são gratuitas), seguido por uma olhada nesta lista de ferramentas de desenvolvimento de banco de dados de código aberto em osalt.com.

Minha segunda sugestão seria verificar o WaveMaker, que é uma espécie de PowerBuilder de código aberto para a nuvem (isenção de responsabilidade: eu trabalho lá, então não deve ser considerado uma fonte imparcial de informação ;-)

WaveMaker combina um IDE de arrastar e soltar com um back-end Java de código aberto. É licenciado sob a licença Apache e possui uma forte comunidade de desenvolvedores de 15.000.

C Keene
fonte
Acho que as avaliações no URL citado são bastante benevolentes para as alternativas do Access. Nenhum deles chega muito perto de replicar o conjunto de recursos do Access. Isso não significa que eles sejam ótimas opções para qualquer número de projetos, apenas que eles não podem substituir tudo o que o Access faz. A única plataforma que conheço que chega perto é o FileMaker, e que é comparativamente fraca em scripts e conectividade de dados.
David-W-Fenton,
Esse é um bom link @C Keene. Obrigado por compartilhar isso.
Onorio Catenacci
Eu concordo com você @David Fenton - MS Access é um produto muito maduro e cheio de recursos. Se você quer algo que faça tudo o que o MS Access faz, então o MS Access é o único produto que se encaixa nessa tarefa. A "resposta certa" se resume a quais compromissos específicos você está disposto a fazer (por exemplo, script ou relatórios limitados) e quais outros benefícios você obtém com a nova plataforma (por exemplo, código aberto, baseado em Java etc.)
C Keene
7

NuBuilder ( www.nubuilder.net ) pode estar certo.

NuBuilder é um aplicativo da web PHP licenciado pela GPLv3 que requer MySQL como banco de dados de backend. Usuários e programadores usam a interface da web.

Eles o promovem como uma alternativa gratuita ao MS Access baseada na web. Estou criando meu segundo aplicativo NuBuilder atualmente. O NuBuilder parece ter sido desenvolvido de forma muito ativa, e eu o achei estável e bem documentado (desde que você aguente os tutoriais em vídeo).

shful
fonte
6

Você pode querer dar uma olhada no SQLite ( http://sqlite.org/ ). Porém, tudo depende do seu uso. Concorrência, por exemplo, não é sua maior virtude. Mas, por exemplo, o Firefox usa para armazenar configurações etc.

Até
fonte
6

No contexto de um fórum de programação, normalmente não pensamos no programador também precisando da parte do aplicativo do banco de dados. Normalmente, um programador deseja usar seu próprio ambiente de desenvolvimento para a lógica de negócios e front-end e apenas usar os recursos de armazenamento, consulta, recuperação e processamento de dados do banco de dados.

Se você realmente deseja todas essas outras coisas, está falando sobre um ambiente de tempo de execução muito maior e mais complicado. Você não vai encontrar mais nada que seja 'leve'. Mesmo o próprio MS Access não se qualifica mais, porque dificilmente é leve. É uma sorte que muitos usuários já o tenham, fazendo com que pareça leve.

Isso não significa que você não encontrará nada. Só que não é provável que tenha o mesmo nível de maturidade ou distribuição que o Access, especialmente porque o mecanismo de acesso subjacente já está embutido no Windows.

Joel Coehoorn
fonte
6

A licença de tempo de execução do Access nunca foi tão cara - o custo para as ferramentas / extensões do desenvolvedor tem sido em torno de US $ 300, desde que me lembro (o que seria desde o Access 2 Developers Toolkit, ou ADT), mas que oferece a capacidade de distribuir seu aplicativo com o tempo de execução para um número ilimitado de usuários. Contanto que seu aplicativo runtime fosse usado por três ou mais usuários, você estaria economizando dinheiro (assumindo um custo de $ 100 / usuário para instalar uma cópia completa do Access).

O tempo de execução do Access 2007 é totalmente gratuito, mas, realmente, o custo anterior não era tão bom.

Marc Gravell acrescentou (no que deveria ser um comentário, na minha opinião):
Ser livre, porém, é certamente um incentivo para as pessoas experimentarem, o que o preço de US $ 300 realmente teria desencorajado.

David-W-Fenton
fonte
5

O VistaDB possui uma versão expressa de uso gratuito, sintaxe e driver compatível com SQL Server. VistaDB é um único arquivo e requer apenas seu driver .dll para funcionar em seu projeto asp.net ou winforms.

Por ser compatível com sintaxe e fonte de dados, você pode atualizar para o SQL Server, se necessário.

de seu site:

VistaDB é um ASP.NET totalmente gerenciado e typesafe e aplicativos WinForms usando C #, VB.NET e outras linguagens compatíveis com CLR.

VistaDB.net

Brian Boatright
fonte
5

Você mencionou Python, você considerou Dabo?

http://dabodev.com/

Isso evitaria muito trabalho pesado em um aplicativo personalizado.

estiro
fonte
4

Você está se referindo ao conceito de um banco de dados gratuito para distribuir com um aplicativo ou de um banco de dados "arquivo único, sem instalação" semelhante ao Access?

Como em, coisas como SQL Server Express Edition exigem coisas como tempos de execução a serem instalados, bancos de dados a serem criados e montados, entradas nos menus Iniciar das pessoas que elas não reconhecerão (minha esposa perguntou por que o SQL Server estava em seu laptop outro dia) enquanto um banco de dados do Access pode ser executado em um único arquivo.

Acho que o que estou perguntando é: você quer pensar no banco de dados como um documento no qual você escreve ou como uma instância de algo na máquina de outra pessoa?

Tom Kidd
fonte
4

E quanto ao r: Base? Há muito tempo, o r: Base era um RDMBS DOS (então Windows) muito robusto e isso é dias pré-Access / pré-Paradox. Seu concorrente mais próximo era o dBase, mas isso não era totalmente relacional na época. Eu desenvolvi alguns aplicativos r: Base muito bons E, como o Access hoje, tinha um gerador de relatórios embutido, facilidade de formulários, consultas e manipulação de tabelas .. Para minha surpresa, ainda está vivo! http://www.rbase.com/ Parece que tem todas as ofertas de acesso. Pode ser algo para você considerar.

Taptronic
fonte
1
Uau, pensei r: a base também sumiu. Bom link Ótimo.
Onorio Catenacci
@SmartMethod, você tem alguma ferramenta secreta de RBase (* .rbf) para algum outro banco de dados, como Access ou MSSQL?
Admiral Land
@Admiral Land - não no passado recente, não. Já faz algum tempo. O último que fiz foi o r: Base to MS SQL Server no início de 2010 para um cliente.
Taptronic
1
@SmartMethod, resolvo meu problema, obrigado!
Admiral Land
4

O Kexi 2007.1.1 pode ser o que você está procurando.

Sua versão expressa é gratuita, mas o tamanho do banco de dados é limitado. A versão completa custa $ 72.

A descrição de sua página inicial: Kexi é um aplicativo fácil de usar para design de banco de dados visual para Linux e MS Windows. Kexi concorre com MS Access, FoxPro, Oracle Forms e FileMaker.

Visite http://www.kexi-project.org/about.html para obter detalhes.

Que maldade
fonte
3

Apache Derby é uma boa alternativa de banco de dados.

Joshua
fonte
Obrigado pelo ponteiro. Se alguém quiser um link: db.apache.org/derby
Onorio Catenacci
3

Gambas

Fortran
fonte
3

Em linha com a resposta de Aurelio, agora trabalho em Ruby on Rails em algumas aplicações que poderia ter feito anteriormente no MS Access. O banco de dados de back-end para um aplicativo Rails. geralmente é MySql (funciona bem o suficiente e está disponível na maioria das hospedagens compartilhadas da Web) ou PostgreSQL (a melhor escolha quando possível).

Steve Jorgensen
fonte
Que bom ver você, Steve! Não tenho notícias há anos, e espero que você esteja bem ... Eu adoraria ouvir mais sobre sua experiência com Ruby on Rails. Eu olhei para ele e parece um grande compromisso com um projeto muito pesado (parece uma grande biblioteca do meu ponto de vista e, portanto, impõe sua própria lógica - não literalmente, mas metaforicamente).
David-W-Fenton
Ir bem é relativo - falarei mais sobre isso por meio de outros canais em breve. Pessoalmente, adoro Rails há anos, mas nunca diria que é certo para todos. Ele é um grande compromisso, mas a linguagem Ruby é muito poderosa e expressiva, e é uma alegria para aprender, IMO. Rails é um framework "opinativo", incorporando uma grande coleção de bibliotecas padrão, porém muitas das bibliotecas são opcionais e trocáveis, então é menos restritivo do que pode parecer à primeira vista. A comunidade Rails também é muito boa, o que obviamente importa muito.
Steve Jorgensen
2

Eu teria o mesmo problema de você. Eu tinha um aplicativo de acesso ao MS, mas queria ir para um aplicativo da web acessível a todos e sem pagar ao MS. Por isso decidi usar MySql e Wavemaker (código aberto) para obter o escopo .. Estou muito feliz com esta decisão. e esse é o resultado http://www.mara-database.org/

Aurelio
fonte
Não acho que você está respondendo à pergunta que foi feita.
David-W-Fenton,
2

O que você parece estar procurando não é apenas um programa de banco de dados, mas um banco de dados com formulários, relatórios, etc. (basicamente uma espécie de IDE). Eu recomendaria tentar o OpenOffice.org Base, que vem com o pacote de escritório. É gratuito e de código aberto. Não está nem perto de ser tão polido quanto o acesso, mas faz praticamente as mesmas coisas.

Além disso, se você conhece o acesso, ele será pelo menos um pouco familiar.

http://www.openoffice.org/

EDIT: Desculpe, não li que você está considerando o OpenOffice.org. No que diz respeito à estabilidade, ele travou e fiz algumas coisas "estranhas" quando joguei com ele, mas o Access fez a mesma coisa. A melhor maneira de descobrir é brincar um pouco com ele e ver se combina com você.

Biosci3c
fonte
1

Acho que o banco de dados incluído no OpenOffice.org tem o designer de formulário nele. Porém, nunca tentei escrever um código para ele. Uma postagem do fórum que vi tinha um link para um tutorial que eles disseram que continha algum código.

Comecei a configurar um banco de dados para minha esposa e a interface estava ficando muito boa, pelo que eu sabia.

tutorial oooForum.org

Knobloch
fonte
2
Eu adoraria usar o material incluído no OO.0, mas da última vez que verifiquei, era muito primitivo para usar.
Onorio Catenacci
0

para sqlite, verifique a extensão do firefox. Ele oferece uma GUI que permite manutenção.

Christopher Mahan
fonte
Isso não vai apenas permitir que você gerencie o banco de dados e não crie realmente um "aplicativo de desktop leve"?
JeffO
É verdade, mas acho que o questionador estava pedindo o banco de dados e não o aplicativo de desktop leve. O MSAccess é muito bom nisso, mais difícil de substituir.
Christopher Mahan
@Christopher Mahan: foi exatamente você tirou a idéia das repetidas afirmações do questionador original de que ele está perguntando sobre todo o pacote (particularmente o desenvolvimento front-end), que ele "estava pedindo o banco de dados e não o aplicativo de desktop leve"? A questão é bastante clara: é o pacote completo, portanto, qualquer resposta que seja somente banco de dados está completamente errada para a questão.
David-W-Fenton
@David: Você está certo, é claro. Eu construí muitos dbs com acesso. Esse foi meu trabalho de tempo integral em 1997-1999. Lembro-me de construir uma função de módulo para vincular novamente tabelas com base na vizinhança da rede.
Christopher Mahan
-1

VistaDB é a única alternativa se você vai executar seu site em hospedagem compartilhada (quase todos eles não permitem que você execute seus sites no modo Full Trust) e também se você precisar de um site habilitado para implantação de cópia x simples.

Konstantin Tarkus
fonte