Buena alternativa gratuita a MS Access [cerrado]

102

Considere la necesidad de desarrollar una aplicación de base de datos de escritorio liviana en las plataformas de Microsoft.

Se podría hacer con bastante facilidad con MS Access, pero me gustaría poder distribuirlo a otros y no quiero pagar por una licencia de ejecución.

Requisitos:

  • fácil distribución a otros
  • sin problemas de licencias en tiempo de ejecución

Consideraciones y candidatos:

  • Base de la suite OpenOffice . Mis preocupaciones giraban en torno a su estabilidad.
  • MySQL + escribir código DB personalizado en C ++ o Python o lo que sea que parezca una solución bastante dura.

Pregunta : ¿Cuáles son las alternativas de base de datos gratuitas o de bajo costo a MS Access?


Ver también: Motores de informes de código abierto



@Schnapple

Bruceatk acertó en lo que estoy pensando; No es tanto el motor DB como quiero las otras sutilezas que Access trae a la fiesta. El diseñador de formularios agradable, el motor de informes agradable, etc. Pero planteas un punto muy bueno sobre la huella de instalación. Lo había considerado, pero aún no he tomado ninguna decisión firme sobre qué camino tomaré con esto. Probablemente será algo bastante liviano de todos modos y una pequeña huella de instalación definitivamente sería una ventaja.


@Remou,

No, no sabía que el tiempo de ejecución de MS Access 2007 es gratuito; gracias por señalar eso. La última vez que me molesté en investigarlo (no recuerdo cuándo fue) creo que era una licencia bastante cara para el tiempo de ejecución porque creo que estaban tratando de venderla a los departamentos de TI corporativos.

Y gracias a todos los que respondieron también; No estaba al tanto de esas otras opciones que todos ustedes señalaron.

casperOne
fuente
3
Todas las soluciones propuestas en la respuesta elegida son sobre el back-end (la base de datos en sí). ¡Nunca ha habido ningún costo asociado a la distribución de una base de datos de aviones! Entonces, esta pregunta es un poco confusa sobre si pcampbell está buscando un front-end, un back-end o ambos.
Patrick Honorez
1
@Patrick Honorez, no fue pcampbell quien hizo la pregunta inicialmente; Yo hice. Lo convertí a Community Wiki hace mucho tiempo y pcampbell fue la última persona en editarlo. Quería algo que incluyera el motor de informes, consultas visuales y backend. El backend es fácil: la consulta visual y los informes que nunca he encontrado en gran medida aparte de Access.
Onorio Catenacci
No he encontrado que Access sea inestable, siempre y cuando tenga el JRE correcto. También hay Libre Office Base que se puede probar. Si bien puede importar tablas desde Access, y aunque probablemente no espera poder ejecutar VBA en él, tampoco puede importar formularios. Aparte de eso, OOBase es una base de datos completamente viable (al menos para bases de datos más pequeñas con demandas más ligeras).
CodeLurker

Respuestas:

61

Una cosa a tener en cuenta aquí es que el producto MS Access es mucho más que un motor de base de datos sin procesar. Proporciona una plataforma de desarrollo de aplicaciones completa, que incluye diseñador de menús y formularios, entorno y lenguaje de aplicaciones cliente (VBA) y diseñador de informes. Cuando se juntan todas esas cosas, MS Access realmente no tiene igual.

Pero para el alcance de esta pregunta, nos preocupa el motor de base de datos sin procesar. Con eso en mente:

SQLlite ,
Firebird ,
VistaDB (no gratuito),
SQL Server Compact Edition (no Express)
y ahora SQL Server LocalDB
vienen a la mente.

Otro pensamiento: si bien la pregunta original se refiere a las bases de datos de escritorio, es probable que algunas personas lleguen aquí en busca de una base de datos para usar con un sitio web. Es importante recordar que todas estas son bases de datos en proceso y, como tales, rara vez o nunca son apropiadas para su uso en la web. Si desea crear un sitio web, donde es común necesitar admitir un acceso concurrente significativo, generalmente desea un motor de servidor de base de datos , como MS SQL, Postgresql, MySQL, Oracle o sus hermanos. Al mismo tiempo, esos motores de servidor rara vez o nunca son apropiados para una aplicación de escritorio de un solo usuario.

Joel Coehoorn
fuente
... excepto Firebird, que se extiende a ambos lados del límite y se puede usar en cualquier escenario. Sin embargo, buenos puntos.
user60401
7
SQLite, me encanta.
Alix Axel
¿Por qué SQL Server Compact Edition y no Express? ¿Es esto solo por el tamaño?
Mark3308
@Mark - Express Edition sigue siendo una base de datos de clase de servidor y no una base de datos en proceso como las demás. Lea la segunda parte de la respuesta y todo lo que hay sobre los motores de servidor (incluida la última oración) se aplica a Express Edition.
Joel Coehoorn
OK No me di cuenta de que la Compact Edition estaba en proceso de base de datos. Gracias por señalar eso.
Mark3308
127

Cuando las personas preguntan sobre un reemplazo para Access, muchos de ellos solo piensan en la base de datos, pero lo que realmente preguntan son todas las demás funciones de Access. Por lo general, no les importa qué base de datos utiliza Access.

Algunas de las funciones proporcionadas por Access son: formularios, creación de consultas, informes, macros, administración de bases de datos y algún tipo de lenguaje cuando necesite ir más allá de lo que proporcionan los asistentes.

SQLite , MySQL y FireBird son backends de base de datos gratuitos. No tienen esas funciones de acceso adicionales integradas. Cualquier alternativa gratuita a Access requiere que combine algo como SQLite y un lenguaje de desarrollo.

Probablemente la mejor opción gratuita sería SQLite y Visual Basic 2008 o C # 2008 Express Edition . Esto tendría una gran dependencia del tiempo de ejecución, por lo que la instalación en un cliente básico podría llevar bastante el instalador.

Realmente no existe una opción que no sea de acceso de forma gratuita con requisitos mínimos de tiempo de ejecución. Ojalá hubiera.

Me interesaría saber si alguien conoce alguna buena alternativa.

bruceatk
fuente
5
sí ... la gente no se da cuenta del poder del acceso como un entorno de desarrollo integrado, como ha destacado ... no hay nada gratuito que se compare con el acceso de microsoft con la mayoría (y mucho menos todas) de las funciones integradas. cuando tiene acceso ... puede hacer muchas cosas en una fracción de tiempo que requiere lograrlo por otros medios ... 100% de acuerdo con su respuesta @bruceatk
ihightower
68

Schnapple pregunta:

¿Se refiere al concepto de una base de datos gratuita para distribuir con una aplicación, o una base de datos de "archivo único, sin instalación" similar a Access?

Er, nadie que tenga alguna competencia con el desarrollo de aplicaciones de Access jamás distribuiría un solo MDB / ACCDB como almacén de aplicaciones / datos. Cualquier aplicación de Access no trivial debe dividirse en un front-end con los formularios / consultas / informes (es decir, objetos de IU) y un back-end (solo tablas de datos).

Está claro que lo que se necesita aquí es una herramienta de desarrollo de aplicaciones de base de datos como Access. Ninguna de las respuestas de la base de datos responde de ninguna manera a eso.

Obtenga información sobre Access antes de responder las preguntas sobre Access:

  • Access es una herramienta de desarrollo de aplicaciones de base de datos que se envía con un motor de base de datos predeterminado llamado Jet.

  • Pero una aplicación de Access se puede construir para trabajar con datos en casi cualquier base de datos de back-end, siempre que haya un controlador ISAM, ODBC u OLEDB para ese motor de base de datos.

La propia Microsoft ha hecho un buen trabajo al ocultar la diferencia entre Access (herramienta de desarrollo) y Jet (motor de base de datos), por lo que no es sorprendente que muchas personas no reconozcan la diferencia. Pero los desarrolladores deben usar un lenguaje preciso, y cuando se refiera al motor de base de datos, use "Jet", y cuando se refiera a la plataforma de desarrollo front-end, use "Access".

David-W-Fenton
fuente
Técnicamente, David, en Access 2007 y versiones de archivo posteriores, usa una versión de Jet específica para Office llamada Access Connectivity Engine (ACE).
Bobort
17

Para ser honesto, no hay alternativas gratuitas a MS Access. Al menos si te refieres a la herramienta de desarrollo de bases de datos (formularios, informes, consultas, soporte VBA, etc.). Si piensa en MS Access como un motor de base de datos (de hecho, se refiere a MS Jet o ACE), entonces sí, tiene muchas posibilidades. Hay muchos motores de base de datos gratuitos; los más populares son MySQL y PostgreSQL. Puedo recomendar ambos, depende de lo que quieras hacer.

Para escribir interfaces de base de datos, C ++ es una de las peores opciones. Debería considerar MS Visual C #, MS Visual Basic .NET o ... Incluso Java / Swing (si estamos hablando de aplicaciones de escritorio). Si piensa en el frontend habilitado para la web, considere PHP (con MySQL o PostgreSQL en el backend) o ASP.NET (con MSSQL Server en el backend).

Le recomiendo encarecidamente que no utilice C ++ para tal trabajo. Este lenguaje es muy eficiente y flexible, pero el desarrollo avanzado de frontend de bases de datos con C ++ no es la mejor idea. C ++ es excelente en programación de sistemas, desarrollo de juegos, simulaciones de matemáticas y física, en todos los lugares donde la eficiencia es la clave, como las aplicaciones en tiempo real, etc. Los frontends no tienen que ser demonios de velocidad: deben verse bien y tener un usuario final avanzado. características (como clasificar, colorear, etc.). Si está buscando herramientas gratuitas, ¿tal vez C # Express o Visual Basic.NET Express 2008 sería la opción adecuada? ¿O tal vez Java / Swing (consulte el IDE de NetBeans)? ¿Quizás SharpDevelop? Pero no C ++ ... Deje C ++ para las cosas que mejor se adapten.

Pawel Wawrzyniak
fuente
15

Echa un vistazo a suneido .

Hice una aplicación GIS bastante complicada como experimento con ella hace algunos años (base de datos, interfaz gráfica de usuario compleja, informes, cliente / servidor). Fue una experiencia agradable (aparte de algunos problemas de documentación ...) y me volví productivo muy rápido.

Ya no lo uso principalmente porque:

  • no es realmente un propósito general
  • no es multiplataforma (solo Windows)
  • Decidí dejar de explorar tecnologías exóticas y especializarme en algo más convencional.
Toni Ruža
fuente
10

De las alternativas de software libre, estas aún no se han mencionado:

También estaría atento a las herramientas DB RAD que la comunidad Flex / Air está ideando, ya que con esas herramientas es posible obtener interfaces web y de escritorio unificadas.

akaihola
fuente
1
Rekall parece estar muerto y Glom parece inmaduro y aún no se usa mucho. Me saltaría el paradigma cliente-servidor por completo e iría con algo web 2.0, como WaveMaker.
Robin Green
1
Glom no parece haberse actualizado desde 2012, por lo que probablemente esté muerto en este momento.
WhatEvil
9

Oracle XE con Application Express.

  • Tiene una buena interfaz gráfica de usuario basada en web,
  • Es una base de datos "real"
  • Escalará más allá de un solo escritorio
  • Ofrece un camino de escala claro más allá de un equipo pequeño
  • Aplicaciones como basadas en web, de fácil acceso.
  • Puede convertir hojas de cálculo de Excel en aplicaciones
Matthew Watson
fuente
7

El problema es encontrar una alternativa a MS Access que incluya un entorno de desarrollo visual, de arrastrar y soltar, con una base de datos "razonable" donde todo el kit y caboodle se puedan implementar de forma gratuita.

Mi primera sugerencia sería mirar esta lista muy completa de alternativas de MS Access (muchas de las cuales son gratuitas), seguido de un vistazo a esta lista de herramientas de desarrollo de bases de datos de código abierto en osalt.com.

Mi segunda sugerencia sería revisar WaveMaker, que es una especie de PowerBuilder de código abierto para la nube (descargo de responsabilidad: trabajo allí, por lo que no debería considerarse una fuente de información imparcial ;-)

WaveMaker combina un IDE de arrastrar y soltar con un back-end Java de código abierto. Tiene licencia de Apache y cuenta con una comunidad de desarrolladores de 15.000 miembros.

C Keene
fuente
Encuentro que las evaluaciones en la URL citada son bastante benéficas con las alternativas de Access. Ninguno de ellos realmente se acerca mucho a replicar el conjunto de características de Access. Eso no significa que sean excelentes opciones para cualquier cantidad de proyectos, solo que no pueden reemplazar todo lo que hace Access. La única plataforma que conozco que se acerca es FileMaker, y es comparativamente débil en cuanto a scripting y conectividad de datos.
David-W-Fenton
Ese es un buen enlace @C Keene. Gracias por compartirlo.
Onorio Catenacci
Estoy de acuerdo con usted @David Fenton: MS Access es un producto muy maduro y con todas las funciones. Si desea algo que haga todo lo que hace MS Access, entonces MS Access es el único producto que se ajusta a sus necesidades. La "respuesta correcta" se reduce a los compromisos particulares que está dispuesto a hacer (p. Ej., Scripts o informes limitados) y qué otros beneficios obtiene de la nueva plataforma (p. Ej., Código abierto, basado en Java, etc.)
C Keene
7

NuBuilder ( www.nubuilder.net ) podría tener razón.

NuBuilder es una aplicación web PHP con licencia GPLv3 que requiere MySQL como base de datos backend. Tanto los usuarios como los programadores utilizan la interfaz web.

Lo promueven como una alternativa gratuita de MS Access basada en la web. Estoy creando mi segunda aplicación NuBuilder estos días. El NuBuilder parece estar desarrollado de manera muy activa, y lo encontré estable y bien documentado (siempre que pueda soportar tutoriales en video).

shful
fuente
6

Es posible que desee buscar en SQLite ( http://sqlite.org/ ). Sin embargo, todo depende de su uso. La concurrencia, por ejemplo, no es su mayor virtud. Pero, por ejemplo, Firefox lo usa para almacenar configuraciones, etc.

Hasta que
fuente
6

En el contexto de un foro de programación, no solemos pensar que el programador también necesite la parte de la aplicación de la base de datos. Normalmente, un programador desea utilizar su propio entorno de desarrollo para la lógica empresarial y el front-end, y solo utilizar las capacidades de almacenamiento, consulta, recuperación y procesamiento de datos de la base de datos.

Si realmente desea todas esas otras cosas, entonces está hablando de un entorno de tiempo de ejecución mucho más grande y complicado. Ya no encontrarás nada que sea "ligero". Incluso MS Access en sí ya no califica, porque apenas es liviano. Es una suerte que muchos usuarios ya lo tengan, lo que hace que parezca liviano.

Esto no significa que no encontrará nada. Solo que no es probable que tenga el mismo nivel de madurez o distribución que Access, especialmente porque el motor de acceso subyacente ya está integrado en Windows.

Joel Coehoorn
fuente
6

La licencia de tiempo de ejecución de Access nunca ha sido tan cara: el costo de las herramientas / extensiones de desarrollador ha sido de alrededor de $ 300 desde que tengo memoria (que se remonta a Access 2 Developers Toolkit, o ADT), pero eso le ofrece la posibilidad de distribuir su aplicación con el tiempo de ejecución a un número ilimitado de usuarios. Siempre que su aplicación en tiempo de ejecución fuera utilizada por tres o más usuarios, habría estado ahorrando dinero (asumiendo un costo de $ 100 por usuario para instalar una copia completa de Access).

El tiempo de ejecución de Access 2007 es completamente gratuito, pero en realidad, el costo anterior no era tan grande.

Marc Gravell agregó (en lo que debería haber sido un comentario, en mi opinión): Sin
embargo, ser gratis es ciertamente un estímulo para que la gente lo pruebe, lo que el precio de $ 300 realmente habría desanimado.

David-W-Fenton
fuente
5

VistaDB tiene una versión rápida que es de uso gratuito y es compatible con la sintaxis y el controlador de SQL Server. VistaDB es un solo archivo y solo requiere su controlador .dll para funcionar en su proyecto asp.net o winforms.

Dado que es compatible con la sintaxis y la fuente de datos, puede actualizar a SQL Server si es necesario.

desde su sitio:

VistaDB es una aplicación ASP.NET y WinForms totalmente administrada y con seguridad de tipos que utiliza C #, VB.NET y otros lenguajes compatibles con CLR.

VistaDB.net

Brian Boatright
fuente
5

Mencionaste Python, ¿has considerado a Dabo?

http://dabodev.com/

Eso evitaría gran parte del trabajo pesado en una aplicación personalizada.

styro
fuente
4

¿Se refiere al concepto de una base de datos gratuita para distribuir con una aplicación, o una base de datos de "archivo único, sin instalación" similar a Access?

Por ejemplo, cosas como SQL Server Express Edition requieren que se instalen tiempos de ejecución, que se creen y monten bases de datos, entradas en los menús de inicio de las personas que no reconocerán (mi esposa preguntó por qué SQL Server estaba en su computadora portátil el otro día) mientras que una base de datos de Access se puede ejecutar en un solo archivo.

Supongo que lo que pregunto es si desea pensar en la base de datos como un documento en el que escribe o como una instancia de algo en la máquina de otra persona.

Tom Kidd
fuente
4

¿Qué pasa con r: Base? Hace mucho tiempo, r: Base era un RDMBS de DOS (luego Windows) muy robusto y esto es antes de los días de acceso / pre-Paradox. Su competidor más cercano era dBase, pero eso no era completamente relacional en ese momento. Desarrollé algunas aplicaciones r: Base muy agradables Y, como Access hoy, tenía un generador de informes incorporado, facilidad de formularios, consultas y manipulación de tablas. Para mi sorpresa, ¡todavía está vivo! http://www.rbase.com/ Parece que tiene todas las ofertas de acceso. Podría ser algo a considerar.

Taptronic
fuente
1
Wow, pensé r: La base también se había ido. Buen enlace Óptimo.
Onorio Catenacci
@SmartMethod, ¿tiene alguna herramienta encubierta desde RBase (* .rbf) a alguna otra base de datos, como Access o MSSQL?
Admiral Land
@Admiral Land: no en el pasado reciente, no. Ha pasado bastante tiempo. El último que hice fue r: Base a MS SQL Server a principios de 2010 para un cliente.
Taptronic
1
@SmartMethod, resuelvo mi problema, ¡gracias!
Admiral Land
4

Kexi 2007.1.1 puede ser lo que está buscando.

Su versión express es gratuita pero el tamaño de la base de datos es limitado. La versión completa cuesta $ 72.

La descripción de su página de inicio: Kexi es una aplicación fácil de usar para el diseño visual de bases de datos para Linux y MS Windows. Kexi compite con MS Access, FoxPro, Oracle Forms y FileMaker.

Visite http://www.kexi-project.org/about.html para obtener más detalles.

WhatEvil
fuente
3

Apache Derby es una buena alternativa a la base de datos.

Joshua
fuente
Gracias por la anotación. Si alguien quiere un enlace: db.apache.org/derby
Onorio Catenacci
3

Muy en línea con la respuesta de Aurelio, ahora trabajo en Ruby on Rails en algunas aplicaciones que antes podría haber hecho en MS Access. La base de datos de back-end para una aplicación Rails. suele ser MySql (funciona bastante bien y está disponible en la mayoría de los alojamientos web compartidos) o PostgreSQL (la mejor opción cuando es posible).

Steve Jorgensen
fuente
¡Qué bueno verte, Steve! Hace años que no tengo noticias y espero que lo estés haciendo bien ... Me encantaría saber más sobre tu experiencia con Ruby on Rails. Lo he mirado y parece un compromiso demasiado grande para un proyecto demasiado difícil de manejar (parece una gran biblioteca desde mi punto de vista y, por lo tanto, hace cumplir su propia lógica, no literalmente, sino metafóricamente).
David-W-Fenton
Hacerlo bien es relativo; pronto diré más sobre eso a través de otros canales. Personalmente, amo Rails y lo he hecho durante años, pero nunca diría que es adecuado para todos. Que es un gran compromiso, pero el lenguaje Ruby es muy potente y expresiva, y es una alegría para aprender, la OMI. Rails es un marco "obstinado" que incorpora una gran colección de bibliotecas predeterminadas, sin embargo, muchas de las bibliotecas son opcionales e intercambiables, por lo que es menos restrictivo de lo que podría parecer a primera vista. La comunidad de Rails también es realmente genial, lo que obviamente importa mucho.
Steve Jorgensen
2

Tengo el mismo problema contigo. Tenía una aplicación de acceso a MS pero quería ir a una aplicación web accesible para todos y sin pagar dinero a MS. Así que decidí usar MySql y Wavemaker (código abierto) para obtener el alcance. Estoy muy contento con esta decisión. y ese es el resultado http://www.mara-database.org/

Aurelio
fuente
No creo que esté respondiendo a la pregunta que se hizo.
David-W-Fenton
2

Lo que parece estar buscando no es solo un programa de base de datos, sino una base de datos con formularios, informes, etc. (básicamente, una especie de IDE). Recomendaría probar OpenOffice.org Base, que viene con la suite ofimática. Es gratis y de código abierto. No está tan pulido como el acceso, pero hace prácticamente las mismas cosas.

Además, si conoce el acceso, le resultará al menos algo familiar.

http://www.openoffice.org/

EDITAR: Lo siento, no pudo leer que está considerando OpenOffice.org. Con respecto a la estabilidad, me ha fallado y he hecho algunas cosas "extrañas" cuando jugaba con él, pero Access ha hecho lo mismo. La mejor forma de averiguarlo es jugar un poco con él y ver si te queda bien.

Biosci3c
fuente
1

Creo que la base de datos incluida con OpenOffice.org tiene el diseñador de formularios. Sin embargo, nunca he intentado escribir código para ello. Una publicación del foro que vi tenía un enlace a un tutorial que, según dijeron, tenía algún código.

Comencé a configurar una base de datos para mi esposa y la interfaz estaba saliendo bastante bien por lo que pude ver.

tutorial de oooForum.org

Knobloch
fuente
2
Me encantaría usar el material incluido en OO.0 pero la última vez que lo revisé, era demasiado primitivo para usarlo.
Onorio Catenacci
0

para sqlite, consulte la extensión de firefox. Ofrece una GUI útil.

Christopher Mahan
fuente
¿No le permitirá administrar la base de datos y no crear una "aplicación de escritorio ligera"?
JeffO
Es cierto, pero creo que el interrogador estaba pidiendo la base de datos y no la aplicación de escritorio liviana. MSAccess es bastante bueno en eso, más difícil de reemplazar.
Christopher Mahan
@Christopher Mahan: ¿De dónde sacas exactamente la idea de las repetidas afirmaciones del interlocutor original de que pregunta sobre todo el paquete (en particular el desarrollo de front-end), que "estaba pidiendo la base de datos y no la aplicación de escritorio ligera"? La pregunta es bastante clara, es el paquete completo, por lo que cualquier respuesta que sea solo de base de datos es completamente incorrecta para la pregunta.
David-W-Fenton
@David: Tienes razón, por supuesto. He construido muchas bases de datos con acceso. Ese fue mi trabajo de tiempo completo en 1997-1999. Recuerdo haber creado una función de módulo para volver a vincular tablas automáticamente según la vecindad de la red.
Christopher Mahan
-1

VistaDB es la única alternativa si va a ejecutar su sitio web en un alojamiento compartido (casi todos no le permitirán ejecutar sus sitios web en el modo de plena confianza) y también si necesita un sitio web habilitado para la implementación x-copy simple.

Konstantin Tarkus
fuente