Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-03-2025
rfernandez rfernandez is offline
Miembro
 
Registrado: ago 2003
Posts: 70
Poder: 22
rfernandez Va por buen camino
Delphi y mongoDB

Muy buenas a tod@s,

Tengo la necesidad de empezar a trabajar con MongoDb con delphi para optimizar rendimiento en las bases de datos históricas, llevo 20 años usando interbase y luego firebird.

He estado investigando y con Firedac se puede hacer conexión.

El inconveniente que tengo es que actualmente tenemos licencia de Dephi 10.3 Rio.

Está versión de delphi lleva las librerías de Firedac que sólo son compatibles para mongoDb 5, que esta deprecapted.

Una alternativa es comprar licencia nueva de Delphi pero es mucho dinero, necesitamos la versión Enterprise, usamos Datasnap.

La otra que no encontramos si hay manera de comprar a parte de la última versión de Firedac para que sea compatible con nuevas versiones de mongoDb.

U otra si hay otra libreria de conexión de base de datos que soporte mongoDb.

Agradecería cualquier sugerencia o experiencia.

Saludos y gracias por adelantado.
Responder Con Cita
  #2  
Antiguo 06-03-2025
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 318
Poder: 3
pgranados Va por buen camino
Ya intentaste con mORMot2? es una libreria gratuita
Responder Con Cita
  #3  
Antiguo 08-03-2025
rfernandez rfernandez is offline
Miembro
 
Registrado: ago 2003
Posts: 70
Poder: 22
rfernandez Va por buen camino
Voy a descargármela y probar
Gracias por la alternativa.
Responder Con Cita
  #4  
Antiguo 10-03-2025
rfernandez rfernandez is offline
Miembro
 
Registrado: ago 2003
Posts: 70
Poder: 22
rfernandez Va por buen camino
Por si a alguien le puede interesar.
Los compnentes uniDac funcionan correctamente con mongoDb 8

Un saludo,
Responder Con Cita
  #5  
Antiguo 12-03-2025
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 280
Poder: 2
navbuoy Va por buen camino
como dice rfernandez los componentes que desarrollan en DevArt son buenisimos, funcionan superbien y faciles de implementar (pero son de pago y precisamente baratos tampoco)

Dado que usas Delphi 10.3 Rio y FireDAC, pero necesitas conectarte a MongoDB en versiones más recientes (mayores a 5.0), aquí hay algunas opciones viables sin necesidad de actualizar toda la licencia de Delphi Enterprise:

�� 1. Verificar si se puede actualizar solo FireDAC
FireDAC viene incluido en Delphi, pero Embarcadero no ofrece FireDAC como una compra independiente. Normalmente, las mejoras y soporte para nuevas versiones de bases de datos vienen con nuevas versiones de Delphi. No se puede actualizar FireDAC sin actualizar Delphi.

⚠️ Conclusión: No es una opción viable.

�� 2. Usar una Biblioteca Externa para Conectarse a MongoDB
Dado que FireDAC en Delphi 10.3 no soporta MongoDB 6+, otra opción es usar una biblioteca de terceros que funcione con Delphi 10.3. Algunas opciones:

✅ a) SynMongoDB (parte de Synopse mORMot Framework)
Librería gratuita y de código abierto.
Compatible con MongoDB 6+ y versiones anteriores.
Permite trabajar con BSON y JSON.
No requiere FireDAC, es una conexión directa.
�� Descarga: https://github.com/synopse/mORMot2

✅ b) UniDAC de Devart
Producto comercial con soporte para MongoDB 6+.
Funciona con Delphi 10.3 Rio.
Compatible con FireDAC y otros motores SQL.
�� Enlace: https://www.devart.com/unidac/mongodb.html

�� Costo Aproximado: 299 USD (mucho más barato que una nueva licencia de Delphi).

⚠️ Conclusión: UniDAC es una opción comercial más accesible que actualizar Delphi. SynMongoDB es una alternativa gratuita si prefieres trabajar con código abierto.

�� 3. Usar la API de MongoDB con HTTP/REST
Si solo necesitas consultas básicas y no una integración completa, puedes conectarte a MongoDB usando su API HTTP/REST en lugar de un driver nativo.

Ejemplo en Delphi usando TNetHTTPClient:

Código Delphi [-]
uses
  System.SysUtils, System.JSON, System.Net.HttpClient, System.Net.URLClient;

procedure ConsultarMongo;
var
  HTTP: TNetHTTPClient;
  Respuesta: IHTTPResponse;
  JsonObj: TJSONObject;
begin
  HTTP := TNetHTTPClient.Create(nil);
  try
    Respuesta := HTTP.Get('http://tu-servidor-mongodb:27017/dbname/coleccion');
    JsonObj := TJSONObject.ParseJSONValue(Respuesta.ContentAsString) as TJSONObject;
    Writeln(JsonObj.ToString);
  finally
    HTTP.Free;
  end;
end;


Conclusión: Es útil si solo necesitas recuperar información, pero no es una solución ideal para un sistema grande.

✅ Recomendación Final
Si buscas una solución comercial y confiable, UniDAC de Devart es la mejor opción.
Si prefieres una alternativa gratuita y de código abierto, usa SynMongoDB (mORMot).

Última edición por navbuoy fecha: 12-03-2025 a las 12:32:30.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Informacion sobre MongoDB Valades Varios 3 01-02-2018 17:28:16


La franja horaria es GMT +2. Ahora son las 16:32:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi