Export stavů materiálu na skladě

Top  Previous  Next

Seznam témat:

řešení

 

Řešení

Tento export pracuje tak, že v pravidelných časových intervalech server vytvoří soubor "export.txt" na zvoleném místě souborového serveru.

Tyto exporty se dají použít pouze na serveru a místo uložení vyexportovaných dat je absolutní vzhledem k serveru. Stejným způsobem lze exportovat i jiné tabulky.

 

Postup:

1. databázi povýšit na verzi 90.20 nebo vyšší

2. aplikovat přiložené skripty

  create_proc.sql - zavede uloženou proceduru vykonávající vlastní export
  create_event.sql - zavede schedulovanou událost pro spouštění procedury

 

Přiložené skripty lze modifikovat s ohledem na

- čas a frekvenci provádění exportu (každý den v 5:00 hod.)

- místo ukládání exportního souboru (na server vedle oskar.db)

- jméno exportního souboru (export.txt)

 

Skript create_proc.sql

 

create procedure DBA.x_exportstavy

as

begin

 declare cur1 no scroll cursor for select sklad,mat,nazev,typrozmer,nasklade,rezerv,kvydeji,prumcena from dba._omskladmnozextra order by mat asc

 declare @sklad SKLAD_

 declare @mat MATERIAL_

 declare @nazev NAZEV_

 declare @typrozmer integer

 declare @nasklade MNOZSTVI_

 declare @rezerv MNOZSTVI_

 declare @kvydeji MNOZSTVI_

 declare @prumcena CENAZAMJ_

 declare @filename char(255)

 declare @x long binary

 select @x=''

 open cur1

 while 1 = 1 begin

     fetch next cur1 into @sklad,@mat,@nazev,@typrozmer,@nasklade,@rezerv,@kvydeji,

       @prumcena

     if sqlstate <> '00000' break

     select

       @x=@x || '"' ||

       @sklad || '"' || ',' || '"' ||

       @mat || '"' || ',' || '"' ||

       @nazev || '"' || ',' ||

       @typrozmer || ',' ||

       @nasklade || ',' ||

       @rezerv || ',' ||

       @kvydeji || ',' ||

       @prumcena || 0x0D || 0x0A

   end

 close cur1

 select @filename=db_property('file')

 select @filename=replace(@filename,'oskar.db','export.txt')

 execute xp_write_file @filename,@x

end

 

Skript create_event.sql

create event ExportStavy

schedule

start time '05:00' every 24 hours

handler

begin

call DBA.x_exportstavy

end

 

 

Související témata