~~COMPLEX_TABLES~~ ====== Komandna linija modula MSBALANS.EXE ====== ===== Komanda ===== **msbalans.exe** - pokretanje osnovnog modula Balans ERP sistema ===== Sintaksa ===== **msbalans.exe [/f://] [/t://] [/a:] [/y:][/h:]** ===== Opis ===== Standardan način pokretanja programa je zadavanje komande **msbalans.exe**. Time će biti pokrenuta poslednja firma sa kojom se radilo. ==== Forsiranje aktivne firme ==== Ukoliko je potrebno pokrenuti konkretnu firmu bez posebne (XML) komande koristi se sledeća sintaksa: **msbalans.exe /f:** gde je **** - broj firme koju treba pokrenuti (baza podataka /Data 20/) Ovako zadata komanda ignorisaće poslednju firmu sa kojojm se radilo i odmah otvoriti bazu podataka zadate firme. Ujedno, biće sprečen prelazak u bilo koju drugu firmu za sve vreme rada programa. Dozvoljen je ulazak u arhive pokrenute firme. ==== Zadavanje posebnog zadatka ==== Kada je neophodno da se modul pokrene radi izvršavanja konkretnog zadatka koristi se sintaksa: **msbalans.exe /t:** gde je **** - putanja do XML fajla napravljenog po [[:kb:btast_xml_shema|btask.xsd]] šemi koji sadrži opis i parametre zadatka koji treba izvršiti, kao i ID firme nad kojojm se taj zadatak izvršava. Ukoliko je uz ovu komandu zadata i **/f** firma će biti odabrana na osnovu **/f** parametra. U ovom režimu prilikom pokretanja programa: - neće biti prikazan logo - (opciono) neće biti ponovo tražena lozinka korisnika, pod uslovom da je predata kroz XML fajl zadataka - neće biti prikazana glavna upravljačka forma programa ==== Otvaranje željenog arhiva ==== Kada je neophodno da se otvori neki arhiv u okviru tekuće firmi koristi se sintaksa: **msbalans.exe /a:** gde je **** tačan naziv direktorijuma unutar osnovnog direktorijuma firme koji se otvara. Ukoliko naziv sadrži razmake (//space character//) potrebno ga je uokviriti u znake navoda (npr. "2011 Test"). Ovu komandu msbalans.exe koristi i interno za prelazak iz tekuće godine u arhive i obrnuto. ~~COMPLEX_TABLES~~ ==== Forsiranje COM+ Servera ==== Određivanje IP adrese odnosno naziva Balans COM+ Servera sa kojim se treba povezati sprovodi se sledećom komandom: **msbalans.exe /c:** gde je **** dostupna IP adresa odnosno DNS ime na kom se **Balans COM+ Server** može naći. ==== Odabir ACE OLE DB drajvera za upravljanje bazom ==== Naslednik JET4.0 drajvera za bazu je [[http://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine|Microsoft Access 2010 Database Driver]]. Postoji 32-bitna i 64-bitna verzija i generalno se razvoj JET-a nastavlja kroz ACE. Nastao račvanjem JET4.0 koda, Microsoft za ACE tvrdi da je 100% unazad kompatibilan sa JET4.0. Testovi koje smo interno uradili pokazuju da je to tako (čak i kada su greške i problemi u pitanju). Balans je moguće naterati da za drajver koristi ACE umesto JET sledećom komandom: **msbalans.exe /ace** **//{{:bal:ideja_32.png?32x32 }}// **//ACE ////pre upotrebe mora da se instalira jer ne dolazi automatski sa Windows OS-om kao JET. Instalacioni paket je besplatan i može se pokupiti [[http://www.microsoft.com/en-us/download/details.aspx?id=13255|odavde]]. Ovaj paket sadrži i servisne zakrpe SP1 i SP2 u sebi. \\ // ~~COMPLEX_TABLES~~ ==== Promena ekstenzije baze podataka ==== ACE dolazi i sa novim formatom baze podataka **accdb**. Mehanizam podjednako dobro radi i sa //mdb// fajlovima, ali novi format donosi neke pogodnosti u samoj strukturi baze pa ćemo i baze polako prebacivati na njega. Ukoliko je potrebno umesto //BLPRIV.mdb // otvoriti //BLPRIV.accdb//bazu mora se zadati komandna linija koja na to ukazuje: **msbalans.exe /e:******; gde je **** ekstenzija fajla BLPRIV, na primer za otvaranje **BLPRIV.accdb** komanda bi glasila: **msbalans.exe /e:accdb** ==== Analiza performansi baze podataka (Balans Profajler) ==== U cilju utvrđivanja uskih grla u radu sa bazom podataka moguće je pokrenuti program u režimu zapisivanja dnevnika izvršavanja komandi zadatih bazi podataka. Biće zapisano sledeće: * Vrsta (tipa) transakcije * SQL upita za sakupljanje / izmenu podataka * Vreme pokretanja upita i vreme završetka upita * Dužina trajanja (u sekundama) svake komande * Broj slogova na koje je upit uticao (samo za upite koji vrše promene u bazi) * Podaci o transakciji Zapis je u CSV formatu, a separator je //pipe// (uspravna crta "|" ) Program se pokreće u režimu logovanja dodavanjem **/y:** komande praćene punom putanjom i nazivom fajla u koji se vrši logovanje. Ukoliko istoimeni fajl već postoji, novi podaci će se samo dodati na postojeće. \\ Svaki proces zapisivanja počinje sa kratkim zaglavljem koje govori o vremenu pokretanja sistema logovanja (otvaranje programa) i korisniku koji je program pokrenuo. Upis se vrši "strimovanjem", ali kada treba debagovati program koji puca, može se postići "flush" nakon svakog upisa dodavanjem ključne fraze //.flush_every.// u naziv fajla. Primer komande koja zapise snima u fajl C:\analiza.log : **msbalans.exe /y:****//c:\analiza.log//**; Za više detalja pogledati članak [[:l1:sistem:protokol:analiza_performansi_baze_podataka|Analiza performansi baze podataka]]. ==== Postavka Persi klase u debug režim ==== Persi klasa je zadužena za prijavljivanje promena koje program izvrši u bazi Transporteru radi slanja u sistem razmene podataka. Ako se uključi //debug// režim, klasa će upisivati na lokaciju //..\ProgramData\Balans\BLNS.SQLErr.$(CURDATE).LOG// podatke o izvršenim komandama kako bi se otkrile smetnje u radu sistema za razmenu podataka. Režim //debagovanja// Persi klase uključuje se dodavanjem **/h: **komande za kojom sledi broj koji označava nivo debagovanja: 0 - isključeno debagovanje\\ 1 - upis kritičnih operacija i grešaka\\ 2 - upis kritičnih i manje kritičnih operacije i grešaka Primer: **msbalans.exe /h:1** uključuje //debagovanje// kroz zapis potencijalno opasnih situacija o stanjima u klasi (npr. RecordsAffected=0 na INSERT ili UPDATE komandi)