Pregunta

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 otras personas y no quiero pagar por una licencia de ejecución.

Requisitos:

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

Consideraciones y candidatos:

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

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


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



@Schnapple

Bruceatk dio en el clavo con lo que estoy pensando;No es tanto el motor DB sino las otras sutilezas que Access aporta a la fiesta.El bonito diseñador de formularios, el bonito motor de informes, etc.Pero planteas un muy buen punto sobre el espacio de instalación.Lo había considerado, pero de todos modos todavía no he tomado ninguna decisión firme sobre qué camino tomaré con esto.Probablemente será algo bastante liviano de todos modos y una instalación pequeña 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ñalarlo.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 intentando venderla a los departamentos de TI corporativos.

Y gracias a todos los que respondieron también;Desconocía por completo esas otras opciones que todos señalaron.

¿Fue útil?

Solución

SQLlite,
pájaro de fuego,
VistaDB (no gratuito),
y Edición compacta de SQL Server (no expreso)
todos vienen a la mente.

Otro pensamiento:Si bien la pregunta original se refiere a bases de datos de escritorio, es probable que algunas personas lleguen aquí buscando una base de datos para usar con un sitio web.Es importante recordar que estos son todos en proceso bases de datos y, como tales, rara vez o nunca son apropiadas para su uso en la web.Si desea crear un sitio web, realmente necesita una base de datos. servidor motor, como MS SQL, Postgresql, MySQL, Oracle o sus hermanos.Al mismo tiempo, esos servidor Los motores rara vez, o nunca, son apropiados para una aplicación de escritorio de un solo usuario.

Otros consejos

Cuando la gente pregunta acerca de un reemplazo para Access, muchos solo piensan en la base de datos, pero lo que realmente preguntan son todas las demás características de Access.Por lo general, no les importa qué base de datos esté utilizando Access.

Algunas de las funcionalidades proporcionadas por Access son:Formularios, creación de consultas, informes, macros, gestió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 bases de datos gratuitos.No tienen esas funciones adicionales de Access 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 Edición Express.Esto tendría una gran dependencia del tiempo de ejecución, por lo que la instalación en un cliente simple podría requerir bastante tiempo de instalación.

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

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

¿Es usted consciente de que el Acceda al tiempo de ejecución de 2007 se puede descargar gratis?

Enlaces para versiones más recientes:

Schnapple pregunta:

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

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

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

Obtenga información sobre Access antes de responder las preguntas de 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 se puede construir una aplicación de acceso para funcionar con datos en casi cualquier base de datos de back -end, siempre que haya un ISAM o un controlador ODBC u OLEDB para ese motor de la base de datos.

El propio 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 sorprende que muchas personas no reconozcan la diferencia.Pero los desarrolladores deben usar un lenguaje preciso, y cuando se refiere al motor de base de datos, use "Jet", y cuando se refiere a la plataforma de desarrollo front-end, use "Access".

Para ser honesto, no existen alternativas gratuitas a MS Access.Al menos si te refieres a una 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 bases de datos gratuitos; los más populares son MySQL y PostgreSQL.Puedo recomendar ambos, depende de lo que quieras hacer.

Para escribir interfaces de bases de datos, C++ es una de las peores opciones.Debería considerar MS Visual C#, MS Visual Basic .NET o...Incluso Java/Swing (si hablamos de aplicaciones de escritorio).Si piensa en la interfaz habilitada para 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 dicho trabajo.Este lenguaje es muy eficiente y flexible, pero el desarrollo avanzado 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 aplicaciones en tiempo real, etc.Las interfaces no tienen que ser demonios de velocidad: deben verse bien y tener funciones avanzadas para el usuario final (como ordenar, colorear, etc.).Si está buscando herramientas gratuitas, ¿tal vez C# Express o Visual Basic.NET Express 2008 serían 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 le convengan.

Verificar suneido.

Hice una aplicación SIG bastante complicada como experimento 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ápidamente.

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.

De las alternativas de Software Libre estas aún no han sido mencionadas:

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

Oracle XE con aplicación Express.

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

Es posible que desee consultar 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.

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 el caboodle se puedan implementar de forma gratuita.

Mi primera sugerencia sería mirar esto. Lista muy completa de alternativas a 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 consultar 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 backend Java de código abierto.Tiene la licencia Apache y cuenta con una comunidad de desarrolladores de 15.000 personas.

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 promocionan como una alternativa gratuita a MS Access basada en la web.Estoy creando mi segunda aplicación NuBuilder estos días.El NuBuilder parece estar muy activamente desarrollado y lo encontré estable y bien documentado (siempre que puedas soportar los tutoriales en vídeo).

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

Si realmente quieres todas esas otras cosas, entonces estás hablando de un entorno de tiempo de ejecución mucho más grande y complicado.Ya no encontrarás nada que sea "ligero".Incluso el propio MS Access ya no cumple los requisitos, porque no es muy ligero.Es una suerte que muchos usuarios ya lo tengan, lo que lo hace aparecer ser liviano.

Esto no significa que no encontrarás nada.Sólo 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.

VistaDB tiene una versión rápida que es de uso gratuito y tiene sintaxis y controladores compatibles con SQL Server.VistaDB es un archivo único y sólo 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 typesfe con C#, VB.NET y otros lenguajes que cumplen con CLR.

VistaDB.net

Mencionaste Python, ¿has considerado Dabo?

http://dabodev.com/

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

La licencia de tiempo de ejecución de Access nunca ha sido tan cara: el costo de las herramientas/extensiones para desarrolladores ha sido de alrededor de $300 desde que tengo uso de razón (lo que se remontaría al kit de herramientas para desarrolladores de Access 2, o ADT), pero eso le brinda la posibilidad de distribuir su aplicación con el tiempo de ejecución a un número ilimitado de usuarios.Siempre que tres o más usuarios utilizaran su aplicación de tiempo de ejecución, habría ahorrado 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 alto.

Marc Gravell añadió (en lo que debería haber sido un comentario, en mi opinión):
Sin embargo, ser gratuito es sin duda un estímulo para que la gente lo pruebe, algo que el precio de 300 dólares realmente habría desalentado.

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

Es decir, 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 ¿quieres pensar en la base de datos como un documento en el que escribes o como una instancia de algo en la máquina de otra persona?

¿Qué pasa con r: Base?Hace mucho tiempo, r:Base era un RDMBS para DOS (luego Windows) muy robusto y estos son los días anteriores a Access/pre-Paradox.Su competidor más cercano era dBase, pero en ese momento no era completamente relacional.Desarrollé algunas aplicaciones r:Base muy buenas Y, como Access hoy, tenía un generador de informes integrado, función de formularios, consultas y manipulación de tablas.Para mi sorpresa, ¡sigue vivo! http://www.rbase.com/ Parece que tiene todo lo que ofrece el acceso.Quizás sea algo que debas considerar.

Kexi 2007.1.1 puede ser lo que estás buscando.

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

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.

Visita http://www.kexi-project.org/about.html para detalles.

¿Qué pasa con Visual Studio Express de Microsoft?http://www.microsoft.com/express/default.aspxSQL Server Express también está en ese enlace...

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

También echa un vistazo http://www.sagekey.com/installation_access.aspx para obtener excelentes scripts de instalación para Ms Access.Además, si necesita integrar imágenes en su aplicación, consulte DBPix en ammara.com.

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 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 sea posible).

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 gratuito 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 sentimos, no pude leer que estás considerando OpenOffice.org.Con respecto a la estabilidad, se me bloqueó y hice algunas cosas "raras" cuando jugaba con él, pero Access hizo lo mismo.La mejor manera de averiguarlo es jugar un poco con él y ver si te conviene.

Creo que la base de datos incluida con OpenOffice.org tiene el diseñador de formularios.Sin embargo, nunca intenté escribir código para ello.Una publicación en el foro que vi tenía un enlace a un tutorial que, según decían, contenía algo de código.

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

Tutorial de oooForum.org

Yo tendría el mismo problema que tú.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.Entonces 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/

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

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top