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