NT Server - DOS arbejdspladser - Fillåsning
Hej,For det bedste svar til dette spørgsmål giver jeg 150 point, men tidligst efter d. 14. December fordi jeg ikke kan teste mulighederne før.
Baggrund:
P.t. har kunden et Novell 2.2 netværk med DOS 6.22 arbejdspladser. Arbejdspladserne bruger samme program og opdaterer samme registre. De fungere som registreringsmaskiner der automatisk modtager data fra en produktionsmaskine de er forbundet til.
Programmet låser derfor registrene i det korte sekund de bliver opdateret.
Programmet styrer selv låsningerne baseret på at det konstaterer at det kører i netværk, hvilket det finder ud af gennem et INT-kald der returnerer et svar om netværk eller ej. Fordi maskinerne bruger IPX og NET5 giver INT svaret at der er netværk og så styrer programmet låsningerne. Låsningerne foregår på Novell serverens harddisk som alm. DOS-locks ved hjælp af diverse Interupts.
Årsagen til denne automatiske låsning og selvstyring vedr. netværk er at samme program andre steder fungerer på "stand Alone" maskiner uden netværk, hvor låsning ikke er nødvendig.
Problem:
Pga. problemer med Novell serveren (alder, kapacitet) samt et ønske om at opgradere til en Windows baseret løsning, ønsker kunden Novell serveren udskiftet med en NT 4.0 server som "datashare". Filsystemet på NT er selvfølgelig NTFS.
Fordi windows programmet ikke er færdigt endnu skal DOS-arbejdspladserne stadig bruges, og vil derfor kun bruge NT serveren som "harddisk".
DOS-maskinerne kobler sig på NT netværket ved hjælp af "dos-client v. 3.0" og bruger ikke længere IPX og NET5, hvilket betyder at programmet ikke længere får at vide at det kører i et netværk og derfor ikke længere låser registret under en opdatering. Resultat siger sig selv !
Opgave:
Hvordan kan jeg få programmet til at se at det kører i netværk og dermed udfører låsninger og kan jeg forvente at NT vil godkende en DOS-Interupt som lås på filerne, eller findes der andre muligheder ?
Bemærk: Programmet er programmeret i Turbo Pascal 5 og jeg har mulighed for at ændre i det og kompilere det igen.
Hilsen
sjensen