» »

Access 97, 2000, 2002...in različni OS

Access 97, 2000, 2002...in različni OS

mp218 ::

Tako bolj praktično-teoretično vprašanje?

Kakše so vaše izkušnje z isto aplikacijo narejeno v Accessu na različnih OS?
Jaz sem imel zadnje čase manjše težave s tem, saj so na NT-ih manjkale določene knjižnice, ki sem jih moral dodatno posnet na WINNN/system...

Pa tud velikrat se zgodi, ko kaj konvertiram v nižjo/višjo verzijo, da se kaj ne funkcionira in moram v VBA (/tools/reference) knjižnice poporavljat.

Fim ::

Izkušnje imam na Win95, 98, ME, NT, 2K, XP in povsod so aplikacije lepo delovale - ČE je bil access oziroma RunTime pravilno poinštaliran. Največkrat se pojavi težava, če imaš na sistemu npr. Office2K aplikacija pa je v Acc97. Lahko, pravim lahko, pride do težave pri instalaciji celega Accessa97, RunTime instalacija pa ne povzroča težav.

Reference so nočna mora za vse access programerje. Vedno moraš paziti, da je na uporabnikovem PC-ju ustrezni dll. To se lahko reši z RunTime instalacijo kjer za pravilno nameščene DLL-je poskrbi setup program. Če je pa access že poinštaliran a so težave, pomaga kljukica v References.

Pri nadgradnjah z ene verzije v drugo je lahko problem in ponavadi tudi je. Iz Acc2 v Acc97 je bil problem, ko je bilo potrebno vse 16Bit knjižnice ročno preimenovati v 32. Potem je bilo OK. Pri nadgradnji Acc97 v "k ali višji pa se ponavadi pojavi problem DAO/ADO. V Acc97 je bil privzeti DAO in če aplikacija uporablja DAO ter to aplikacijo nadgradiš v Acc2K manjka kljukica v referencah za DAO dll, privzeti je ADO. Ko tako aplikacijo poženeš takoj javi napako ....

Drugače pa en nasvet za nadgrajevanje. Najlažje in najmanj problemov je če se nadgradnje lotiš tako, da odpreš prazno bazo v ciljnem accessu in nato iz stare access baze importaš objekte. Če je baza zelo velika je to najboljše storiti po korakih. Najprej recimo module, nato tabele in querije, nato forme, pa reporte ali pa obratno, kakorkoli. Pri meni se je vedno ta metoda pokazala najboljša, za razliko od wizarda.
Pri nadgradnji Acc97 v Acc2K prihaja do neke trapaste napake, ko vse importaš modulov ni, forme, reporta ne moreš odpreti,.... Mislim, da to rešujejo service packi, je pa tudi zelo lepo opisano na MSDN-ju. Če bo kdo naletel na ta problem. Je pa tako, da je najboljše biti na tekočem (s SP-ji), že zaradi varnosti ...

mp218 ::

hja, res, ko enkrat pogruntaš v čem je štos ni problema. Ampak jaz sem enkrat eno uro gledal tiste reference in nisem imel pojma kaj je narobe. V tistem primeru so ble še prioritete važne, drugač je pa Access vsaj tolk pameten, da ti napiše MISSING: pred refrenco, ki manjka. Pri men je blo tud to, da ni bla moja aplikacija in nisem čist točn vedel kako so programiral...

Še eno vprašanje(za vsak primer): v primeru, da kopiram te knjižnjice/reference iz enega OS na drugega. Na primer iz Win2000 NT na WIN NT...to ne vpliva delovanje drugih aplikacij narejenih v accessu, ali pač... Po moji 'kmečki logiki', iz nekega razloga verjetno niso na WIN NT...

Sicer pa se ne spoznam tolk na dll-je, in jih konkretno ne uporabljam...Razen ko so kakšni problemi kot zgoraj opisani...

lp,M

Fim ::

Kar se tiče sistemskih dll-jev, teh ni potrebno kopirati, naj bi bile že na sistemu. Pri kakšnih bolj eksotičnih dll-jih pa ne smeš pozabiti še pravilne registracije, ko si dll že prekopiral.
Če mogoče ne veš, dll lahko registriraš ročno z npr.:

regsvr32 c:\WINDOWS\system32\Toolbar2.dll

se pravi registriraš Toolbar2.dll, z opcijo /u ga pa odregistriraš. Oglej si sintakso ukaza regsvr32, ti jo bo izpisal, če ga poženeš brez parametrov.
Drugače pa lahko pogledaš tudi sem MS.

Prekopirani DLL-ji naj ne bi vplivali na delovanje drugih programov, če s kopiranjem ne povoziš originalnih. Včasih je tako, da moraš najprej dll odregistrirati in ga nato ponovno registrirati, da zadeva v redu deluje, drugače imaš lahko težave ali pa sploh ne deluje.

mp218 ::

Uf, marsikaj še ne vem, pa čeprav sem še pred pol leta mislu, da sem car...haha . Mal pretiravam...Eno leto se igram z accessom in določene stvari še spoznavam ... ;)

Tisto knjižnico, ki sem skopiral iz WIN 2000 NT na WIN NT je bila 'window common controls' wcmctl.ocx (mogoče sem se v kakšni črki zmotil). Torej ni bil dll. Pri inštalaciji (ni bila moja aplikacija) se pojavila napaka in prekinilo inštalacijo. Z debugerjem sem pol odkril, kaj ga moti in ker je pač pisalo MISSING in spodaj, kaj in kje naj bi bila ta knjižnica sem je enostavno skopiral. Delalo je od prve in sem sam še napisal šefu mail, da dela in šel domov ;). On je pol ponovil postopek na drugih mašinah in se s tem nismo več ukvarjali.

Bom pogledal kako je s tistimi dll-ji. Samo danes grem 'študirat' replikacije, ker mam na šihtu eno bazo z njimi in bi rad vstavil v to bazo/aplikacijo dodatno funkcionalnost, pa mi ni vse čist jasno. Tako da, če imaš kakšen namig glede replikacij, kar z besedo na plan. Predvsem me zanima, kako je s konflikti.

Pa še eno stvar, saj mogoče jo bom tekom noči pogruntal, a vseeno. Stvari se replicarirajo iz omrežnega diska na laptop in sinhronizirajo... zdaj pa je ura 17:00. Dva zaposlena gresta z laptopom domov. Vsak naredi doma še nekaj zapisov v bazo.
Torej, če je bil ob petih v tabeli zadnji ID 1000... naslednji dan prideta v službo ....kakšen ID-je bo imel zap 1 in zap 2. Pri obeh doma bodo verjetno 1001, 1002. Kako to programiraš, da se bo v bazi pokloplo...

Fim ::

Kar se tiče, replikacij. Zadeve nisem nikoli uporabljal niti študiral in čisto na kratko - pojma nimam.

Kar pa se tiče ID-jev pa je po mojem takole. 1001 in 1002 sta ID-ja, ki se verjetno generirata avtomatsko (avtonumber). Pri sinhronizaciji z bazo v službi bo ID verjetno drugačen. Takšne zadeve se ponavadi rešujejo z vmesnimi tabelami oz. dodatnimi polji kamor se shranjujejo stari ID-ji - da potem lahko povežeš še eventuelne pozicije (na nov ID) (s kodo in query-ji). Tako nekako je to, če uporabljaš avtonumber, lahko pa vse skupaj rešuješ v kodi in sam šteješ ali pa si napišeš trigger (SQL Strežnik)....

Za uporabo replikacije moraš pa imeti, vsaj kolikor jaz vem, pravilno pripravljeno bazo, v njej je polno polj, ki jih uporablja samo replication.

Je pa sinhronizacija baz cela znanost. Ne gre se samo za nove vnose, kaj pa če je kdo samo cene popravljal.... Se pravi, da moraš v praktično vseh tabelah imeti timestamp, pa števce, pa ........

mp218 ::

Zdaj jim dela super. Zato se tud tega držijo. Mi pa je en kolega rekel, da je to "Looking for trouble!" ;)

Sem pa prebral enih dvajset strani o teh replikacijah, tko da koncept poznam. V prihodnosti ga bo treba 'samo' spremenit v realnost. Za zdaj pa bom naredil tam eno stran neodvisno od tiste baze...

lp, M


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# in SQLite knjižica

Oddelek: Programiranje
161043 (777) bsslo
»

null reference exception na čudnem mestu C#

Oddelek: Programiranje
51213 (1150) krho
»

[Visual Studio .NET] Uvoz Delphi DLL-ja v okolje ASP.NET

Oddelek: Programiranje
101490 (1391) Kekec
»

[VB.NET] - Kako registrirati DLL-je ob inštalaciji?

Oddelek: Programiranje
81060 (956) darkolord
»

Access

Oddelek: Programiranje
51452 (1373) Fim

Več podobnih tem