Lamuriri.
Intr-o lupta dintre Sistemul de operare (SO) si aplicatiile instalate pe el, intotdeauna va castiga SO.
Acum ce trebuie sa se inteleaga, pentru ca am vazut ca NU se intelege sub nici o forma, este acst lucru:
Compania Microsoft prin 1982 a lansat sistemul de operare MS-DOS 1.1
Prin 1985 Microsoft a lansat Windows 1. Prin 1992 Microsoft a lansat Windows 3.1. Apoi a aparut, dupa anul publicarii Windows 95 si 98. In 2000 a aparut hulitul Windows ME (inca bazat pe DOS), si varianta server Windows 2000 (bazat pe NT). Aici s-a taiat craca, si astfel in 2001 a aparut Windows XP pornind de la Windows 2000.
Apoi a aparut Vista, 7, 8, s-a sarit peste 9 si a aparut si Windows 10.
Acum ceea ce nu prea intelege lumea este ca desi seamana denumirea, pastrand denumirea de Windows si bagand o cifra in coada, acestea SUNT SISTEME DE OPERARE DIFERITE.
Mai pe inteles, cum VARA nu-i ca IARNA, nici UBUNTU-l ca RedHat-ul, desi ambele sunt "Linux", cu siguranta orice varianta de Windows difera una de alta, versiunile noi pastrand o compatibilitate mai buna sau mai rea cu versiunile anterioare. La vel, versiunile de 32 biti pastreaza kernel pe 16 biti doar pt compatibilitate, si mai merg aplicatiile DOS (CM.EXE), versiunea pe 64 biti s-a spalat pe maini si pastreaza si ei compatibilitate pt aplicatiile pe 32 de biti, pentru ca reprezinta majoritatea pietei de software. Dar sunt mai mult decat sigur ca dupa ce pe piata vor ramane putine aplicatii pe 32 biti, se va renunta la acest suport.
Deci revenind la Windows 10, aceste update-uri majore nu se numesc, ca pana acum Service Pack-uri, pentru ca sunt mai mult decat atat. A inceput cu Creators Update, dupa care Fall Update si acum 1803 Spring Update-ul, mult amanat pentru ca au intampinat buguri foarte grave. Daca Service Packurile erau niste patchuri de securitate si ceva buguri reparate, aceste update-uri nu sunt doar niste Skin-uri noi la Windows, daca ati observat, ele practic inlocuiesc absolut tot folderul de Windows si vin cu arhitecturi schimbate, versiuni noi de File Sharing, si multe alte schimbari la care compatibilitatea cu vechile versiuni a fost abandonata. (Orice compatibilitate nu ar face decat sa incetineasca executia unui lucru, nu este deloc eficient si este si greu de sustinut, pe de alta parte s-a oferit gratuit upgrade-ul la 10, Microsoft clar a vrut sa scape de Windows 7 si 8, si culmea, tocmai pe aceste sisteme apare problema noastra)
Astfel, daca o aplicatie a mers pe Creators Update, nu e obligatoriu sa mearga pe Spring Update. In urma cu ceva update-uri, pe unele sisteme, Chrome nu mai vroia sa porneasca. A fost nevoie de o alta versiune de Chrome sa se adapteze la noul SO. La fel cu Avira, dupa un update, Windows 10 te oprea in ecran verde de eroare fatala. Le-a luat 2 sapamani celor de la Avira sa repare situatia, in tot acest timp, Avira a trebuit dezinstalat.
Acum la aplicatia WinMENTOR este o situatie mai delicata fata de Chrome, si anume faptul ca folosim "3-rd party software", adica BDE-ul, la care nu exista sursele (codul) si nu avem cum sa-l alteram, iar producatorii BDE-ului nu mai exista. Acest lucru face foarte greu descoperirea cauzei si si mai greu repararea ei, cateodata fiind imposibila.
De aceea, mai ales cand vorbim despre o retea, unde un calculator este Server, orice administrator stie ca un server trebuie tratat cu mai multa atentie. Variantele Windows Server stiu acest lucru, si update-urile sunt lasate la latitudinea administratorului, Windows 10 s-a indreptat spre Windows Milenium, un sistem de operare care sa aiba o interfata cat mai pe intelesul tuturor, si pentru a micsora sansele de a strica ceva pe el, a facut mult mai dificil accesul catre setarile interne ale sistemului de operare, ascunzand clasicele panouri si incercand sa decida el pentru tine ce ai nevoie (upgradeuri si asa mai departe). Astfel pe Windows 10, daca nu dezactivezi serviciul de update, te trezesti a doua zi cu calculatorul repornit, daca aveai date nesalvate pe undeva, nu conteaza, si cu un minunat "Am facut Windowsul mai bun pt. dumneavoastra".
Astfel, daca detii un sistem de operare de Desktop pe o unitate considerata Server, trebuie sa controlezi ce faci pe acest calculator, ce update-uri ii faci, ce virusi iti descarci. Cei ce detin site-uri online, de cumparaturi, nu isi fac update la ultima versiune de MySQL sau PHP doar ca abia a aparut. Se merge pe principiul daca nu e stricat, nu repara!!! Daca intr-adevar acopera vreo bresa de securitate, atunci se cloneaza totul, se fac upgrade-urile pe clona, se testeaza daca merg, si abia dupa ce s-a primit confirmarea, se implementeaza patchurile.
Deci, pentru cei acizi, nu putem face fata la orice bug/modificare de la Microsoft, si in nici un caz imediat. Eu de 3 zile incerc sa reproduc problema, instaland diferite sisteme de operare, cu baza de date pe ultima versiune 1803 (Insider Preview), dar nu am prins-o. Posibil nici sa nu o prind, pentru ca e posibil sa fi disparut, avand patch-uri mai noi, care oficial vor aparea peste aproximativ 2 luni. Asa ca nu am nici o solutie software pentru moment. Este in interesul nostru sa pastram compatibilitatea cu noile sisteme de operare, deoarece nu avem, cum o fac majoritatea, un alt program la vanzare pentru fiecare sistem de operare, dar daca va decideti sa treceti pe o distributie linux, sau sa pastrati windows 10, dar sa renuntati la desktopuri si sa treceti pe dispozitive Touch Screen "Microsoft Surface Pro", nu inseamna ca suntem obligati sa scoatem o versiune de mentor utilizabila pe ele. (in adevaratul sens al cuvantului, adica o utilizare facila touch screen, nu chinuiala).
Speculatii
Din observatii cu ochiul liber, pentru ca local dupa cum am spus, nu am reusit sa prind problema, pare a fi o incetinire a procesului de creare a fisierelor de blocaj LCK la nivel de retea, SO suspendand probabil pt niste verificari de securitate, pt cateva milisecunde accesul la fisier, la fel cum fac antivirusii, suficient cat BDE-ul sa nu poata scrie in el, si sa arunce Exceptie de Windows (nu BDE):NO MORE FILES.
De curiozitate puteti incerca: Deschideti la intamplare cu DBD32 (ca merge pe Windows 7, dar la fel cred si cu DBD64) o tabla din NEW\LUNA, una din NEW\DATA, una din NEW\FIRMA, una din DATA, una din directorul firmei ce o accesati, una din directorul lunii curente. Dupa care intrati in Mentor. Totul merge perfect. (atentie la 0x3BDE pt a putea rula mai multe aplicatii BDE simultan)
Practic daca schimbati in momentul acesta luna, va arunca eroarea "No more files", pentru ca se incearca deschiderea aproape simultana a mai multor table odata (Const, Const1, etc).
Experiment 2, fara mentor, la fel, deschideti cu dbd32 cate o tabla din fiecare folder. Acest proces se face cu distanta de timp intre deschideri. La final inchideti aplicatia DBD32. Mergeti pe aplicatie si deschideti-o din nou (nu cu dublu click pe o tabla) Acest lucru in mod normal deschide toate tablele ce au fost inchise ultima oara odata cu inchiderea lui dbd32. Dar in acest caz deschide vreo doua table dupa care arunca mesajul de eroare cu No more files.
Aplicatia continua sa functioneze, ceea ce spune ca BDE-ul nu a crapat, clar mesajul este generat de Windows.
Solutie
Asa ca pentru moment solutia este administrativa, si trebuia prevazuta de un administrator. Daca Serverul are 1803:
1. dati un system restore la 1709, dezactivati serviciul de Windows Update si asteptati poate apare o rezolvare. Orice update major are revenire la versiunea anterioara (nu vorbim de uninstall, ca nu se poate doar dezinstala)
2. Daca in retea toate calculatoarele sunt cu Windows 10, aduceti-le pe toate la 1803. Am inteles ca problema nu exista intre 1803 Client si 1803 Server.
3. La fel am inteles ca nu este problema cu XP Client, comunicand probabil prin SMB 1.0/2.0
4. Apelati la cei de la care ati achizitionat programul, poate se ofera cu o solutie mai buna. (Sa mute baza de date pe alt PC si sa refaca setarile aplicatiei pe statii)
5. serverul nici macar nu trebuia sa fie windows. problema apare de la file sharing. mentorul nici nu trebuia instalat pe server ca sa mearga pe statii. Exista proasta conceptie ca serverul de mentor clasic, in sistem file sharing, nu remote control, trebuie sa fie un calculator puternic cu procesoare fara numar, si RAM la fel. Fals. Trebuie sa aiba o placa de retea. Atat. Acelasi lucru il poate face un NAS sau un Pentium II cu o placa gigabit si un linux pe el. Intr-adevar un procesor ceva mai bun (un I3 sau I5) se descurca mai bine cu managementul datelor prin placa de retea, dar tot greul e dus de statiile client, nu server.