29. april 2000 - 00:39Der er
7 kommentarer og 1 løsning
Stort Problem med DOS klienter
Jeg har et stort problem med nogle DOS klienter der bruger samme datafil på en NT server.
Selvom jeg i dos programmet åbner filen med filemode 42 (shared) vil serveren ikke kendes ved det og afviser alle andre end den klient der kom først.
Er der nogen der kender dette og har en løsning på det ?
Jeg skal lige huske at sige at det bibliotek filen ligger i er shared og klienterne har alle rettigheder. Og når jeg åbner filerne fra 2 NT arbejdspladser samtidig er der ingen problemer. Det er kun DOS klienterne der giver problemer.
Det er formentligt fordi programmet forbeholder sig ret til at skrive i filen. Det kan man sige du egentligt kun burde være glad for, for hvis flere af klienterne brugte filen samtidigt fik du garanteret problemer med "lost updates".
Den nemme løsning er, at dos-klienterne tilgår filen gennem et read-only share.
Det er muligt du har ret, men problemet er at klienterne skal kunne skrive i filen. Det er en logfil der bliver opdateret når bestemte hændelser opstår, og selvom klienterne kun har filen åben i meget kort tid kan det ske at der er 2 (eller flere) der prøver at åbne den samtidig. De skal selvfølgeligt ikke kunne skrive samtidig men blot have besked om at den er låst og så vente indtil filen er ledig. Som en ganske almindelig låsemekanisme, og det sjove er at det virkede fint dengang serveren var en novell server. Men efter den er udskiftet med en NT virker det ikke mere. Dos klienten får ikke besked om at filen er låst, og prøver at åbne den og så står programmet af med en *Sharing Violation* fejl. Jeg fatter det simpelthen ikke.
Jeg kan godt se at jeg måske ikke fik det forklaret rigtigt i spørgsmålet og jeg håber det er mere forståeligt nu.
Jeg havde samme problem for et års tid siden da jeg skiftede en novell 2.12 ud med en nt server. En af de problemer jeg havde var at mit program ikke længere kunne læse netkortnummeret fordi jeg brugte nogle rutiner der var specifikke for novell, og efter at der var blevet skiftet netdrivere ud på dosmaskinen kunne den godt se nt maskinen men database systemet (filer fra turbopower) som kørte fint under novell virkede ikke mere. Løsningen var at jeg skulle skifte den låsemekanisme filer-systemet brugte. Ved at vælge en anden af de indbyggede nettopologier kom programmet op at køre igen.
Generelt set handlede det om at programmets låsemekanismer hang sammen med de netdrivere maskinen brugte til at logge sig på serveren med. Det var noget med at maskinnavnet ikke kunne læses på samme måde af programmet fordi dos maskinerne ikke er kendt af nt serveren, eller noget i den stil.
Ideen er god nok men det burde ikke være nødvendigt, bare fordi det er en nt server. Det virkede fint på novell og det virker også når det er et windows program der kører på en nt wks.
Det bør kunne lade sig gøre. Jeg giver 250 point mere for det svar det der løser det.
Jeg kom i tanke om at der også var nogle "registry entries" på serveren jeg ændrede.
under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
oprettede jeg en nøgle af typen DWord kaldet "EnableOpLocks" og satte værdien til 0. Default for denne er 1 så den skal oprettes for at sætte den til 0.
Det hjalp på problemet med sharing af filer på serveren.
Prøv om ikke også det er det der skal til for dig !
Jeg kunne ikke rette antal point til 250 mere så jeg opretter et andet spm. du kan svare på. Der er også noget andet jeg gerne vil have svar på hvis du kan
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.