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

Kako izvršiti skriptu bez korišćenja isql?

[es] :: Firebird/Interbase :: Kako izvršiti skriptu bez korišćenja isql?

[ Pregleda: 2528 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

svrle
Vladimir Svrkota
Programer; AlfaNum, Novi Sad
(http://www.alfanum.co.rs)
Novi Sad

Član broj: 1392
Poruke: 29
80.74.160.*

Jabber: svrkota@elitesecurity.org


Profil

icon Kako izvršiti skriptu bez korišćenja isql?30.03.2007. u 09:55 - pre 207 meseci
Zamislite nekakvu aplikaciju, koja koristi FB embedded bazu (u folderu aplikacije nalaze se fbembedded.dll i odgovarajuća baza podataka). Vremenom, kako se aplikacija menja, moguće je da se ukaže potreba da se izvrši update postojeće baze podataka - dodavanje novih tabela, novih kolona i sl. Meni se čini kao najnormalnije rešenje da se klijentu pošalje sql skripta koja će izvršiti update baze. Problem je u tome što klijent nema isql.exe, jer on ne dolazi uz embedded verziju FB-a. Moje pitanje je: kako izvršiti sql skriptu na klijentskoj mašini iz klijentske aplikacije koristeći samo FB API (ili neki wrapper oko njega, svejedno)? Ja inače koristim IBPP u razvoju C++ aplikacija, ali učitavanje skripte u IBPP::Statement objekat i njegovo izvršavanje jednostavno ne radi, jer očigledno me može da "proguta" više od jednog upita/komande, a u skripti ih ima, naravno, proizvoljno mnogo.
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Kako izvršiti skriptu bez korišćenja isql?02.04.2007. u 13:44 - pre 207 meseci
> dolazi uz embedded verziju FB-a. Moje pitanje je: kako izvršiti sql skriptu na
> klijentskoj mašini iz klijentske aplikacije koristeći samo FB API (ili neki wrapper
> oko njega, svejedno)?

Direktan način ne postoji, mnoge Delphi (C++Builder) komponente parsiraju skript i izdvajaju pojedine komande i onda ih izvrsavaju jednu po jednu. Jedino i da ti nešto tako uradiš, ako ti kontrolišeš taj skript onda je još lakše, za separator komandi odabereš neki nestandardni karakter i nećeš imati problema sa parsiranjem.

 
Odgovor na temu

svrle
Vladimir Svrkota
Programer; AlfaNum, Novi Sad
(http://www.alfanum.co.rs)
Novi Sad

Član broj: 1392
Poruke: 29
80.74.160.*

Jabber: svrkota@elitesecurity.org


Profil

icon Re: Kako izvršiti skriptu bez korišćenja isql?02.04.2007. u 17:17 - pre 207 meseci
Citat:
savkic: Direktan način ne postoji, mnoge Delphi (C++Builder) komponente parsiraju skript i izdvajaju pojedine komande i onda ih izvrsavaju jednu po jednu. Jedino i da ti nešto tako uradiš, ako ti kontrolišeš taj skript onda je još lakše, za separator komandi odabereš neki nestandardni karakter i nećeš imati problema sa parsiranjem.


Hvala, Igore. Ja sve vreme u glavi imam SQLDMO koji to može da obavi, pa sam se očigledno malo zaleteo kad sam se prihvatio Firebirda ;-)
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Kako izvršiti skriptu bez korišćenja isql?02.04.2007. u 18:34 - pre 207 meseci
Zapravo sad mi pade na pamet nova FB 2.0 komanda EXECUTE BLOCK, imam utisak da bi ona mogla da obavi posao, svakako probaj.
 
Odgovor na temu

svrle
Vladimir Svrkota
Programer; AlfaNum, Novi Sad
(http://www.alfanum.co.rs)
Novi Sad

Član broj: 1392
Poruke: 29
80.74.160.*

Jabber: svrkota@elitesecurity.org


Profil

icon Re: Kako izvršiti skriptu bez korišćenja isql?04.04.2007. u 22:21 - pre 207 meseci
Citat:
savkic: Zapravo sad mi pade na pamet nova FB 2.0 komanda EXECUTE BLOCK, imam utisak da bi ona mogla da obavi posao, svakako probaj.


Ne, to nije to, ali tvoj predlog o sopstvenom parseru i sopstvenom separatoru komandi sam realizovao i pokazalo se da je to sasvim zadovoljavajuće rešenje.
 
Odgovor na temu

[es] :: Firebird/Interbase :: Kako izvršiti skriptu bez korišćenja isql?

[ Pregleda: 2528 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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