• 4 odgovora
  • 3.119 pregleda
Kako izvršiti skriptu bez korišćenja isql? 30.03.2007. u 09:55 · pre 238 meseci #1
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.
Re: Kako izvršiti skriptu bez korišćenja isql? 02.04.2007. u 13:44 · pre 238 meseci #2
> 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.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Kako izvršiti skriptu bez korišćenja isql? 02.04.2007. u 17:17 · pre 238 meseci #3
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 ;-)
Re: Kako izvršiti skriptu bez korišćenja isql? 02.04.2007. u 18:34 · pre 238 meseci #4
Zapravo sad mi pade na pamet nova FB 2.0 komanda EXECUTE BLOCK, imam utisak da bi ona mogla da obavi posao, svakako probaj.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Kako izvršiti skriptu bez korišćenja isql? 04.04.2007. u 22:21 · pre 238 meseci #5
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.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme