Sunt afisate rezultatele de la 1 la 7 din 7
  1. #1
    Data inscrierii
    May 2014
    Locatie
    Earth
    Posturi
    59

    Angry Windows 10 1803 vs BDE

    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.
    Ultima oara editat deadaniel; 16 May 2018 la 12:08

  2. #2
    Data inscrierii
    May 2014
    Locatie
    Earth
    Posturi
    59

    Implicit

    Observatii

    Vin cu date mai clare, dupa ce am reusit sa prind problema. Pe versiunea de Windows 10 Insider Preview 1805 nu am reusit sa prind problema. Am reusit sa o prind de pe un 1709 pe un 1803 proaspat instalat.
    Asa cum am speculat, eroarea apare din cauza unei incetiniri in motorul de file sharing de pe Windows 10. Practic la primele citiri ale unui director, unde se afla tablele de accesat, timpul de acces este mai mare, presupun ca isi face niste verificari de securitate si drepturi, autentificarea userului ce acceseaza folderul. Astfel eroarea nu este aruncata la deschiderea tablei, ci chiar mult mai inainte, la obtinerea din partea Windows-ului a unui handle(legaturi - pointer) catre acel fisier.
    Din pacate, dupa cum am vazut ca problema apare nu numai in mentor dar si pe database desktop (ala clasic DBD32, oferit de Borland) comportamentul de conectare la o tabla este incorporat in motorul de baza de date BDE, si nu poate fi modificat.
    Ceea ce am reusit sa fac a fost sa folosesc o componenta derivata de la componenta oficiala a tablei si sa fortez reincercari de acces la fisier in caz de esec. (Componentele ce acceseaza tablele se numesc cursoare si le voi numi asa de acum inainte)
    Adica daca BDE-ul incerca sa acceseze tabla, o face prea rapid, inainte ca Windows sa ii dea acces, intorcea eroare cu "no more files", considerand ca tabla nu exista, eu am folosit o bucla de 5 incercari. Daca nu reuseste sa accese fisierul, prind eroarea, astept 150 milisecunde si incerc din nou. Se pare ca a fost suficient acest timp de asteptare pe calculatorul pe care am testat, dar practic am dat voie la 5 incercari in decurs de 750 milisecunde, in speranta ca va reusi conexiunea.
    Daca nici atunci nu reuseste, arunc mesaj de eroare si asta inseamna fie ca aceasta peticeala nu functioneaza, fie ca nu exista cu adevarat fisierul.

    Insa acest lucru l-am facut doar pe cursorul nostru, dar exista nenumarate locuri in cele un milion patru sute de mii de linii de cod unde sunt folosite cursoarele BDE originale, in special pe listele ce parcurg mai multe luni sau trebuie sa aduca date de pe documente din lunile anterioare si exista posibilitatea ca acolo sa arunce exceptia. O astfel de modificare in toate aplicatiile Mentor este destul de costisitoare ca timp si nu se poate rezolva peste noapte.

  3. #3
    Data inscrierii
    October 2020
    Posturi
    5

    Implicit

    De unde as putea downloada versiune initiala de BDE?In portal gasesc doar versiune pt.update.

  4. #4
    Data inscrierii
    May 2014
    Locatie
    Earth
    Posturi
    59

    Implicit

    Daca e vorba de reinitializarea bde-ului, se poate face si cu fisierul de update. El poate fi rulat si pe un calculator ce nu a avut BDE vreodata.
    Dar nu va pune nici o setare specifica mentor-ului.

  5. #5
    Data inscrierii
    February 2009
    Posturi
    658

    Implicit

    Poate fi inclus BdeInst-ul in kitul de instalare, in locul setup-ului normal de BDE, atunci? Ca sa nu mai rulam manual.

  6. #6
    Data inscrierii
    October 2020
    Posturi
    5

    Implicit

    si primesc mesaj la instalarea mentorului ca nu gaseste firma alias...semn ca BDE nu face nicio setare

  7. #7
    Data inscrierii
    February 2009
    Posturi
    658

    Implicit

    Pai, corect, dar ati solicitat doar motor BDE. BDE-ul nu face nicio setare de Mentor, este doar un driver. Ca sa se adauge si setari de Mentor, trebuie si instal de Mentor, cu kitul lui, propriu. Instal, nu rulare directa.

 

 

Reguli de Postare

  • Nu poti posta thread-uri noi
  • Nu poti posta raspunsuri
  • Nu poti posta atasamente
  • Nu poti edita posturile tale
  •