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: 4676 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
82.208.201.*



Profil

icon Izvoz i uvoz podataka iz svih tabela20.08.2007. u 08:22 - pre 202 meseci
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.

 
Odgovor na temu

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
82.208.201.*



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela20.08.2007. u 15:26 - pre 202 meseci
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 ...
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Izvoz i uvoz podataka iz svih tabela21.08.2007. u 11:17 - pre 202 meseci
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.

 
Odgovor na temu

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
82.208.201.*



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela21.08.2007. u 12:51 - pre 202 meseci
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?

 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Izvoz i uvoz podataka iz svih tabela22.08.2007. u 00:06 - pre 202 meseci
> 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).
 
Odgovor na temu

darko_sudarov
ProConto Software doo
Kikinda

Član broj: 89262
Poruke: 136
212.200.34.*



Profil

icon Re: Izvoz i uvoz podataka iz svih tabela29.08.2007. u 11:52 - pre 202 meseci
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?
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Izvoz i uvoz podataka iz svih tabela30.08.2007. u 18:07 - pre 202 meseci
> 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.
 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723

Jabber: obucina


+7 Profil

icon Re: Izvoz i uvoz podataka iz svih tabela23.09.2007. u 00:34 - pre 201 meseci
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.
 
Odgovor na temu

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

[ Pregleda: 4676 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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