Povezivanje Word-a i XML-a

Sve češće se susrijećemo sa zahtijevom da se neki template dokumenti koje smo formirali u Wordu popunjavaju podacima iz glavne baze podataka.  Danas se ovaj posao najčešće radi na način što se iz baze podataka mehanički izvrši “copy” jednog po jednog podatka i uradi “paste” tih podataka na odgovarajuća mjesta u template-u dokumenta. Template dokumenta su uglavnom napravljena tako da kada se otštampaju zadovoljavaju formu fakture, otpremnice ili sličnih dokumenata koji su najčešće u operativnom opticaju.

Ovaj zamoran posao možemo značajno ubrzati bez izrade nekih posebnih izvještaja i bez nabavke specijalizovanog razvojnog alata. Ono što nam je potrebno je Word 2007 i dokumenat formiran upotrebom ovog tekst procesora.  Za ilustraciju ove mogućnosti smo uzeli obični tekst nekog formalnog dokumenta iz područja poslovne korespodencije (u suštini, to može biti bilo kakav dokumenat koji treba da se napuni podacima iz baze podataka). Unutar ovog teksta ćemo postaviti konkretna polja koja su predmet našeg interesovanja (koja u stvari predstavljaju ona polja u onim našim fakturama i otpremnicama zbog kojih sve ovo radimo – polja čiji sadržaj kopiramo iz glavne baze). Kroz ovaj primjer  nam je bitno da shvatimo kako da polja formiramo i automatski popunimo i kako cjelokupni mehanizam funkcioniše. Continue reading

List controle u Excelu

UVOD – APSOLUTNA I RELATIVNA ADRESA ĆELIJE U TABELI U MS EXCEL-u

RELATIVNA ADRESA ĆELIJE

Sve adrese ćelija (u obliku kako su prikazane na narednoj slici ) A2, A3, B4… su relativne adrese.

Prilikom upisa formule u jednu ćeliju (npr u C2) i daljnjim kopiranjem u ostale ćelije (C3 i C4) Excel sam određuje adrese ćelija u formuli i mijenja njihove relativne adrese.

Npr. ako u ćeliji C2 množimo ćelije A2*B2, Excel će u narednom redu, redu broj 3, ukoliko izvršimo kopiranje sadržaja ćelije C2 u C3, u ćeliji u koloni C promijeniti relativne adrese i dobićemo proizvod ćelija A3*B3..

Continue reading

Oracle vs SQL Server – Sesti dio

System Metadata

Oracle i Microsoft SQL Server baze podataka imaju veliki broj tabela i drugih objekata kao što su pogledi, funkcije, bazne procedure koji se automatski kreiraju kada se instalira softver za upravljanje bazom podataka i kada se kreira baza podataka. Ove tabele na sistemskom nivou sadrže metapodatke o logičkim i fizičkim atributima o instanci i o bazama podataka koje se hostuju preko njih. U Oracle terminologiji skup ovih tabela se naziva data dictionary dok su u SQL Server terminologiji ove tabele poznate pod imenom system tables. Continue reading

Oracle vs SQL Server – peti dio

Transactional Consistency i Point-in-time Recovery

Microsoft SQL Server i Oracle imaju ugradjen mehanizam za zaštitu korisničkih transakcija. Ideja koja se nalazi iza “transactional consistency” je da se promjene koje se izvrše nad podacima ne upisuju odmah u fajlove na disku operativnog sistema. Umjesto toga, izmjene se upisuju u operativnu memoriju servera u dio koji se naziva buffer cache. Iz buffer cache-a se podaci periodično prenose u fajl na disku u kojem su konkretni podaci za konkretne tabele baze podataka. Pored buffer cache-a, u memoriji servera postoji još jedan buffer. To je log buffer i on je vezan za čuvanje promjena nad podacima koje urade korisnici. Log buffer se koristi za kontinualno i sekvencijalno zapisivanje svih izmjena koje su izvršene nad podacima u bazi podataka. Sadržaj ovog buffera se upisuje u odvojeni – nezavisni fajl baze podataka na disku. Pošto imamo dva nezavisna bafera sa podacima (buffer keš i log buffer keš) postoje i 2 odvojena pozadinska procesa koji upisuju sadržaje ovih bufera  u fizičke fajlove na disku. Log buffer keš se mnogo češće upisuje na disk nego buffer keš. To je zato što je operacija koja izvršava prenos log buffera mnogo brža – log file je obični sekvencijalni fajl kod koga se na njegov kraj dodaju novi slogovi sa podacima o promjenama na tabelama u redosljedu u kojem su se promjene dešavale (uočiti da je prepis iz buffer keša u fajl sa stvarnim podacima mnogo sporiji jer se za taj prepis uvjek mora prvo naći tačna pozicija u fajlu, tačna tabela i slog na koji se upisivanje odnosi i zbog toga se ovaj upis mnogo ređe izvršava) Continue reading

Oracle vs SQL server – Cetvrti dio

Error Log vs Alert Log

SQL Server u svom fajl sistemu održava jedan fajl – tekući log za snimanje informacija o uspješnosti izvršenja određenog skupa operacija nad bazom podataka. Ovaj log uključuje informacije u vezi sa događajima koji su nastali prilikom pokretanja baze podataka, prilikom izvršenja recovery-a, zatim događaje koji su u vezi sa korisničkim aktivnostima, izvršenjem backup-a, aktivnostima koje uzrokuju promjenu konfiguracije baze podataka, događaje koji se odnose na nekorektno prijavljivanje na bazu podataka, razne vrste grešaka i upozorenja itd. Svaki put kada se startuje SQL Server kreira se i novi log file. Ovaj log file je poznat kao SQL Server Error Log. Continue reading

Oracle vs SQL server – Treci dio

Sigurnost baze podataka

Jedna od očiglednih razlika izmedju SQL Servera i Oracle-a na nivou sigurnosti je da je kod SQL Servera pristup bazi podataka dvofazni proces. Na nivou instance, server održava listu korisničkih naloga koji se nazivaju logins. Logins su nalozi kojima su data prava da se povežu na instancu baze podataka. Ipak, da bi pristupio konkretnoj bazi podataka koja je vlasništvo konkretne instance, login nalog treba da se  mapira na korisnički nalog unutar baze podataka. SQL Server login može biti ili lokalni Windows login ili nalog iz aktivnog direktorijuma ili sertifikovani ključ. Nalog može biti i nešto što je potpuno nezavisno od windows-a: DBA administrator može kreirati nalog koji posjeduje svoju vlastitu autentifikaciju preko username/password-a unutar SQL Servera. U varijanti kada se koristi windows-ov nalog, odnosno nalog koji se vezuje za AD Windowsa govorimo o “trusted” tipu nalogu. Ukoliko koristimo nalog kreiran unutar SQL Servera, govorimo o “non-trusted” tipu nalogu. Continue reading

Oracle vs SQL Server drugi dio

StartUp i ShutDown

StartUp i ShutDown su operacije nad bazama podataka koje su različito implementirane kod Microsoft SQL Servera u odnosu na Oracle RDBMS. Kod SQL Servera, ulazi u registry bazi, trace flag-ovi i system configuration vrijednosti imaju ključnu ulogu u načinu realizacije startup-a baze podataka. Pored nekih drugih stvari, tokom procesa startovanja baze se vrši punjenje DLL-ova, kreiraju se memorijske strukture, otvaraju se portovi za listener, startuje se baza podataka i izvršava se (opciono) recovery baze podataka.  Postupak ima odstupanja samo ukoliko se traži praćenje error log-ova. Uobičajeno, DBA bi trebao startovati SQL service ili iz  Control Panela > Services applet (za SQL Server 2000 i stariji), ili iz Configuration Managera (za SQL Server 2005 ili noviji). Možemo imati određeni stepen kontrole u vezi načina na koji se vrši startovanje SQL Servera ukoliko komandu sqlservr.exe izvršimo iz command prompt-a u single user mode-u koristeći  –m switch. U mogućnosti smo i da odaberemo startovanje serverskog procesa sa minimalnom konfiguracijom koristeći  –f switch. Continue reading