Citat:
Riste Pejov: Access, dbf ... i ostale desktop baze cij cilj nije multi user okolina, i koji nemaju transakcije se nemogu uopste uporegjivati sa RDBMS-a koji imaju transakcije cime se moze postici atomicnost operacijama i izolacija korisnika. Desktop baze su proslost! Ako zelis multi user ... zaboravi access.
Ups, pa ti me covece prestravi ...
Nemoj se ljutiti, ali bih ja za pocetak nesto
'manje profesionalno'.
Pazi ...
U mom preduzecu (30-ak zaposlenih) instaliran je softver za
knjigovodstvo na kome trenutno ima 30-ak hiljada stavki u tabeli
stavke a bude ih oko 50 godisnje samo u ovoj tabeli.
Taj mdb ima preko 400 tabela. Pojma nemam sta su sve izprojektovali
ali su u istom fajlu su i osnovna sredstva i plate i ko zna sta jos sto
nije instalirano nama. Kad zaviris u Relationships padnes u nesvest.
E sad sve to radi (vec tri godine) bez ikakvih problema na 10 racunara
od kojih su 6 stalno zakaceni na bazu.
Aplikacija je pisana u VB6.
U drugom preduzecu sam video aplikaciju gde se u mdb fajlu obradjuje
preko pola miliona slogova. Imamo sam probleme (ja im odrzavam)
iskljucivo zbog nestanka struje ili drugih neregularnih zavrsetaka program
ali je gotovo uvek repair sredjivao stvar. Za 4 godine samo smo jednom
izgubili 100 slogova i to mojom greskom (slucajno obrisano) koji su mogli
biti spaseni ali sam zbog nedostatka vremena (moga) insistirao da ih
otkucaju.
Pazi Riste, procitao sam neke tvoje postove i video da su uglavnom pisani
za visi nivo korisnika, ali (bez ljutnje) moras ponekad da bi pomogao manje
iskusnim korisnicima da se spustis na njihov nivo :).
Ejj pa necu sigurno raditi projekat za Ministarstvo finansija ili mozda EPS :)
Mozes li molim te da mi samo u par recenica pojasnis sledece:
1.
SELECT * FROM FinansijksaStavka WHERE BrojDokumenta=1000
Shvatam da ovo mogu raditi 10 korisnika bez da imaju probleme
oko narusavanja integriteta baze.
2.
Korisnik I
UPDATE Komitenti SET NazivKomitenta='TELEKOM' WHERE IDKomitenta='001'
Istovremeno korisnik II
UPDATE Komitenti SET SedisteKomitenta='BEOGRAD' WHERE IDKomitenta='001'
Ovo je ono sto me zanima.
Dakle postoji konekcija na bazu (ODBC, ADODB, .... sta ja znam)
Da li je dovoljno (dozvoljeno) napisati samo UPDATE, INSERT naredbe bez
da se nekako zastiti slog od istovremenog azuriranja nekog drugog korisnika.
Ako samo uradim niz takvih azuriranja na jednoj masini ce to sve
funkcionisati dobro ali sta ce se desiti ako MDB postavim na server
a recimo bazi preko iste aplikacije pristupam na primer preko terminal servera.
Ko tu brine o ovlascenjima i prioritetima ko moze azurirati tabelu?
Da li ja kao autor iz svog koda nekim naredbama.
Znaci nemam pojma sta je u VB kodu aplikacije koja mi je u preduzecu.
Kako su autori vodili racuna da onih 6 klijenata ne naprave konflikt
prilikom azuriranja podataka.
Trazio sam po raznim SQL helpovima ali nisam mogao da nadjem razumljivi
objasnjenje za sada.
Zato sam u prvom postu postavio paralelu sa DBF.
Imam (clipper) paket koji godina bez problema radi na 5 racunara a
tabelama se intezivno pristupa. Naravno u kodu sam vodio racuna
o dozvolama za pristup podacima (najcesce zakljucavanjem slogova RLOCK).
Svestan sam da nije lako pojednostavljivati ali se nadam da me razumes.
MDB uglavnom nece iziskivati moje ceste intervencije kao recimo MSSQL ili
Firebird a mislim da je bolji izbor nego recimo SQLite.
Imam nekoliko uradjenih jednokorisnickih aplikacija sa win bazama ali se
dosada nisam upustao u projektovanje visekorisnickih.
Nadam se da sam sad bio jasniji. I nemoj se molim te ljutiti sto pokusavam
da izvucem nesto sto je verovatno
Ne zelim da temu prosirujemo na to sta je bolji izbor i koja recimo
odnos cena/kvalitet :)