Ich habe n Dokumente (sagen wir charakterisiert durch einen String und eine DateTime - z.B. eine EMail) und möchte wissen, ob diese Dokumente schon in der Datenbank vorhanden sind.
Das wäre einfach und firewallfreundlich über eine HTTP Abfrage an einen kleinen Anwendungsserver lösbar.
Die HTTP Anfrage würde als Body die Liste der Dokumente enthalten, und de HTTP Antwort je Dokument den aktuellen Status.
Dazu benötigt man nur eine (
Indy) HTTP Server Komponente, die auf den
DB Server zugreift. Für zusätzliche Sicherheit wie HTTPS oder Zugriffsberechtigungen kann man darüber noch einen Apache HTTP Server schalten, der als Proxy die Internetanfragen annimmt und an das Delphi Programm weiterleitet.
Huhu, ja okay. Das gesamte Projekt enthält aber mehr als diese (etwas zeitkritische) Abfrage. Ich habe schon mit idTCPServer (lan.fs) und idHTTP gearbeitet. Trotzdem würde ich gerne hier vermeiden, eine solche Lösung implementieren zu müssen, da der Server, auf dem die
DB installiert ist, ein Debian Linux ist. Das ist vom Prinzip her kein Problem (mit Free Pascal könnte ich einen kleinen Server schreiben). Aber das wäre echt nur meine allerletzte Maßnahme. Ich glaube, es ist weniger Arbeit, den bereits bestehenden Code notfalls auf eine andere
DB wie Postgresql umzubauen. Aber am liebsten würde ich bei Firebird bleiben.
Vom Prinzip handelt es sich bei den Dokumenten um E-Mails auf einem IMAP Server, die ich mit idIMAP4 abrufe und dann lokal speichern möchte.
Grüße,
Michael