Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Izvoz i uvoz podataka iz svih tabela

[es] :: Firebird/Interbase :: Izvoz i uvoz podataka iz svih tabela

[ Pregleda: 1090 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darko_sudarov
BUS Computers
Kikinda

Član broj: 89262
Poruke: 95
82.208.201.*



Profil

icon Izvoz i uvoz podataka iz svih tabela20.08.2007. u 08:22

Pokusavam da napravim nesto kao updater-za bazu,c++ aplikacija koja iz firebirda treba da izvadi sve podatke iz svih tabela(po mogucstvu sa insert komandom -nesto kao sto ibexpert uradi) odradi bekap postojece baze(to sam zavrsio)
restore nove baze(zavrseno) i insert predhodno izvadjenih podataka(nije odradjeno).

Problem mi je da napisem sql koji pokupi sve tabele i sve podatke izveze u neki txt file(OVO MISLIM DA TESKO MOZE DA ODRADI SQL-IZVOZ(znam za varijantu uvoza i izvoza txt fajla u ibexpert ali ne radi sa c++)).
Pokusao sam sa ddl-om koji generise ibexpert ali nece da prodje -jer koristi execute ibeblock.

20.08.2007. u 08:22 

darko_sudarov
BUS Computers
Kikinda

Član broj: 89262
Poruke: 95
82.208.201.*



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela20.08.2007. u 15:26
Ovoliko sam uradio
Code:
 CREATE PROCEDURE UPDATER 
returns (
    tabela varchar(100))
as
begin
    for select rdb$relation_name
    from rdb$relations where rdb$relation_name not starting with 'RDB$'
    into :tabela
    do
    begin


  suspend;
end
end 


jedino mi je problem kako sada da uradim
select * from updater (a da shvati da je to tabela iz koje mi trebeju svi podaci),ima li neko ideju ili sam totalno pogresio put.

inace nasao sam u isql-u (c:\Program Files\Firebird_2_0\bin) komandu OUTput [<filename>] izveze podatke za trazeni sql ali bez insert komande,moze li se to nekako jos dodati?

Bilo koja sugestija je dobro dosla ...
20.08.2007. u 15:26 

savkic
Igor Savkić

Član broj: 92186
Poruke: 1079
*.adsl-2.sezampro.yu.



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela21.08.2007. u 11:17
Spisak svih tabela možeš dobiti sa sledećim viewom.

Code:

CREATE VIEW S_TABLES_LIST (
  TABLE_NAME
) AS
SELECT 
  RDB$RELATION_NAME
FROM 
  RDB$RELATIONS
WHERE 
  RDB$VIEW_BLR IS NULL AND 
  RDB$RELATION_NAME NOT STARTING WITH 'RDB$' AND
  RDB$RELATION_NAME NOT STARTING WITH 'TMP$'
GROUP BY
  RDB$RELATION_NAME;


Iz PSQLa teško da možeš uraditi to što želiš. Ako već radiš iz C++, onda prvo izvrši ovaj gore view i za svaku vraćenu tabelu izvrši novi select * upit i formatiraj vraćeni sadržaj u INSERT blokove. Ako su u tabelama već napravljeni constrainti (primarni i spoljni ključevi) onda moraš voditi i računa o redosledu ubacivanja podataka u tabele.
Ima već gotovih programa koji rade export/import, zašto njih ne iskoristiš. Npr. fbexport i fbcopy. Druga stvar je da za sve ovo možeš koristiti gbak, mnogo je brže nego pojedinačno izvršavanje insert komandi.

21.08.2007. u 11:17 

darko_sudarov
BUS Computers
Kikinda

Član broj: 89262
Poruke: 95
82.208.201.*



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela21.08.2007. u 12:51
Apsolutno se slazem sa tobom,ali ovde je malo specificna situacija jer razvijam software za automatski update
nekog programa za firmu,koji ne sme da zahteva neko veliko znanje korisnika o update-ovanju sa drugim softverom
sem onog koji vec koristi,i naravno sve se desava krajnje automatizovano bez uplitanja korisnika.
Naime zbog cestih izmena na bazi pa i aplikaciji mislim da je to dobra stvar da korisnik sam moze da uradi update sa nekog sajta na netu...(a i stedi moje noge za posete firmama :-) )
To je srz cele price.
Hvala na pomoci oko sql-a ,tmp sam prevideo...
Inace mislim da sam blizu kraja sa ovim sto si mi pomogao (iskopao sam TIBOutputRawFile c++ komandu).

Ako ima jos neko neku sugestiju bio bi mu zahvalan.

Mislim da se fbexport i fbcopy placaju?
gbak-koristim svakako u aplikaciji za kreiranje beckup-a,ali mi treba nesto sto izvadi podatke i prebaci u novu bazu,moze li gbak da izvadi samo podatke u neki file?

21.08.2007. u 12:51 

savkic
Igor Savkić

Član broj: 92186
Poruke: 1079
*.adsl-2.sezampro.yu.



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela22.08.2007. u 00:06
> razvijam software za automatski update nekog programa za firmu,koji ne sme da zahteva neko veliko znanje korisnika
> o update-ovanju sa drugim softverom sem onog koji vec koristi,i naravno sve se desava krajnje automatizovano bez uplitanja korisnika.

Ako treba da updejtuješ i db strukturu onda se sve komplikuje.

> Naime zbog cestih izmena na bazi pa i aplikaciji mislim da je to dobra stvar da korisnik sam moze da uradi
> update sa nekog sajta na netu...(a i stedi moje noge za posete firmama :-) )

Instaliraš RemoteDesktop, VNC ili slične pa se nerviraš iz kancelarije ;)

> Mislim da se fbexport i fbcopy placaju?

Ne, možeš i source skinuti pa pogledati kako je to tamo urađeno. Inače pisao ih je naš čovek, Milan Babuškov.

> gbak-koristim svakako u aplikaciji za kreiranje beckup-a,ali mi treba nesto sto izvadi podatke i prebaci
> u novu bazu,moze li gbak da izvadi samo podatke u neki file?

Možeš da uradiš metadata only bakap ili kompletan bekap, dakle svega u bazi. Ako ta nova baza treba da bude identična polaznoj onda možeš koristiti gbak (ili dbak), ako je potrebno da u postojeću bazu dodaš neke podatke iz fajla onda to ne može sa gbakom (ne znam za dbak).
22.08.2007. u 00:06 

darko_sudarov
BUS Computers
Kikinda

Član broj: 89262
Poruke: 95
212.200.34.*



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela29.08.2007. u 11:52
Hvala svima na pomoci uradio sam izvoz i uvoz i sve radi odlicno.

Imam jos jedno pitanje:

Mogu li se pokidati svi foreign key-ovi dok traje uvoz podataka i posle vratiti na mesto.
Naime ja iskljucim sve trigere pre uvoza podataka

Code:
 update rdb$triggers  set RDB$TRIGGER_INACTIVE=1 where RDB$TRIGGER_INACTIVE=0 and rdb$trigger_source not starting with 'check'; 


check ne da da se iskljuci,ne razumem zasto....
dali postoji u nekoj tabeli nesto slicno da se uradi i sa foreign key?
29.08.2007. u 11:52 

savkic
Igor Savkić

Član broj: 92186
Poruke: 1079
*.adsl-1.sezampro.yu.



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela30.08.2007. u 18:07
> Mogu li se pokidati svi foreign key-ovi dok traje uvoz podataka i posle vratiti na mesto.

Samo da ih dropuješ, uvezeš podatke i ponovo napraviš. Moj ti je savet da prvo napraviš klot tabele, uvezež podatke i tek onda praviš primarne i spoljnje ključeve, ostale konstrejnte i indekse.
30.08.2007. u 18:07 

obucina
Beograd

Član broj: 38191
Poruke: 595
213.244.209.*



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela23.09.2007. u 00:34
Malo zakasneo odgovor, ali pogledaj program IBPump, besplatan je

http://www.clevercomponents.com/products/datapump/dp-tour.asp

Njega instaliras kod korisnika, posaljes im ibp fajl sa opisom kako se podaci azuriraju, i eto.
Koristio sam ga, dobar je.
23.09.2007. u 00:34 

[es] :: Firebird/Interbase :: Izvoz i uvoz podataka iz svih tabela

[ Pregleda: 1090 | Odgovora: 7 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.