AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank mit Tabellenverschlüsselung benötigt.
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank mit Tabellenverschlüsselung benötigt.

Ein Thema von johndoe049 · begonnen am 10. Mai 2019 · letzter Beitrag vom 18. Mai 2019
Antwort Antwort
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
335 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Datenbank mit Tabellenverschlüsselung benötigt.

  Alt 18. Mai 2019, 12:31
Ein Referenzkunde (sehr großes Patentanwaltsbüro) speichert ca 2TB als PDFs in einer Datenbank. Die größte DB, von der ich vonanderen Kunden gehört habe, kommt aus dem Medizinumfeld und soll 15TB sein.

Mit ganz simple Techniken (abruf der pdf Inhalte nicht direkt per select auf Tabelle, sondern immer per Stored Proc) kannst du mit eingebauten Techniken die PDFs ähnlich wie das oben erwähnte Transaktionslog jahreweise in eigene Readonly Datenbanken auslagern und deinen AbrufSP sucht passend zu den Metadaten des Datensatzes dann die passende DB raus. Damit haben wir bei dem oben genannten Kunden ca 2 Millionen odfs im ca 500GB Datenbanken abgelegt, brauchen beim täglichen Backup aber nur ca 20GB sichern und nicht 500GB, weil davon ca 490GB monatsweise ausgelagert sind.

Diese PDF Archivdatenbanken können auch wieder ausgeagert sein, Kopien in der Cloub haben, bei High End Userzahlen auf replizierten Servern liegen etc.
So etwas wollte ich auch schon mal machen. Hast du hier eventuell etwas Code für für mich ? Also wie bekomme ich eine PDF Datei in die Datenbank rein und wie bekomme ich die PDF dann heraus und kann die Datei Anzeigen un doder speichern ? Was ist den der Vorteil von einer Stored Proc und wie würde die Dann aussehen ?

Danke schon einmal Tanja.
Tanja
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datenbank mit Tabellenverschlüsselung benötigt.

  Alt 18. Mai 2019, 12:49
Die SP entschiedet im Hintergrund (anhand z.B. dem Datum) in welche Datenbank die Daten gespeichert bzw. aus welcher dieser geladen werden. Die eigentliche Anwendung muss so nur die Hauptdatenbank kennen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
697 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Datenbank mit Tabellenverschlüsselung benötigt.

  Alt 18. Mai 2019, 13:22
So etwas wollte ich auch schon mal machen. Hast du hier eventuell etwas Code für für mich ? Also wie bekomme ich eine PDF Datei in die Datenbank rein und wie bekomme ich die PDF dann heraus und kann die Datei Anzeigen un doder speichern ? Was ist den der Vorteil von einer Stored Proc und wie würde die Dann aussehen ?
Danke schon einmal Tanja.
vorteil der stored proc: dein client muss gar nicht wissen wo die inhalte herkommen und schon gar nicht selber nach extern connecten, zB zur cloud archiv db

Dateien rein und raus: mit IBExpert Scripting relativ simpel

https://www.ibexpert.net/ibe/pmwiki....aIntoADatabase

mit Delphi/Lazarus aber auch wenn man beim insert den parameter mit TBlobParam(qry.params[0]).loadfromfile füllt,
geht je nach Komponente leicht anders, sollte aber schon mal helfen weiterzukommen

ein wenig code zu einer möglichen sp, die dann jahresweise auf unterschiedliche firebird aliaseinträge gehen würde

Code:
create or alter procedure BRPGETDATEIX (
    IDX bigint)
returns (
    ID bigint,
    TXT varchar(80),
    DATEI blob sub_type 0 segment size 80,
    TS timestamp)
as
declare variable jj integer;
begin
  select
    datei.txt,
    datei.ts,
    datei.datei
  from datei
  where datei.id=:idx
  into :txt, :ts, :datei;
  jj=extract(year from ts);
  if (datei is null) then
      execute statement ('select datei from datei where id=:id') (ID:=IDX)
        on external 'brp'||jj
        as user 'SYSDBA' password '.....'
        into datei;
  if (datei is null) then
      execute statement ('select datei from datei where id=:id') (ID:=IDX)
        on external '1.2.3.4/3050:brp'||jj                                    --wenn auf der lokalen instanz auch nix in datei ist, dann ggf extern nachschauen, zB auch in der cloud
        as user 'SYSDBA' password '.....'
        into datei;
  id=idx;
  suspend;
  when any do begin

              end
  --exception error '#BRPMSG#BRPDAT bzw BRPDATX nicht definiert oder nicht erreichbar#BRPEND#';
end
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf

Geändert von IBExpert (18. Mai 2019 um 13:28 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz