Hej! ldb-filen skapas och används om någon användare eller i ditt fall connection öppnar databasen exklusivt. Se över dina connectionsträngar. Ok... I princip skall du: Om du skriver rst.Open "sql", con, x , x Hej Marcus Jag var nog lite otydlig i mitt förra inlägg.Hur få bort en ldb-fil???
Börjar så smått bli lite våldsam här framför mitt livsuppehållande system, även kallat datorn.
Mitt problem är följande:
Jag har en ASP .NET-sida uppe på ett webbhotell. Där jag har min databas, alltså mdb-filen, har det även skapats en ldb-fil. I rimlighetens namn borde den försvinna när ingen använder sig av databasen, vilket i sin tur borde inträffa när ingen surfar på min sida. Problemet är att den där j-vla ldb-filen inte vill försvinna fastän den borde det!
Läste nånstans att man kunde "låsa upp" filen genom att till databasen ställa en felaktig fråga, men det gick inget vidare. Jag kan inte heller ta bort ldb-filen genom WS FTP.
Vad göra? Några tips?
Hade idag tänkt ladda upp en ny databas med info men det går ju inte ens skriva över den gamla när ldb-filen lurar i vassen *suck*...
Mycket tacksam för svar!
/Marcus [ http://www.anma.se/ ]Sv: Hur få bort en ldb-fil???
Sv: Hur få bort en ldb-fil???
Vad ska jag ange i anslutningssträngen för att undvika detta då?
Eller är det så att ett problem uppstår om det någonstans i koden öppnas en anslutning som sen inte stängs?
/MarcusSv: Hur få bort en ldb-fil???
Öppna connection
Kör något med Conn, hämta rs, kör en update...
Stäng ev rs
Stang ConnectionSv: Hur få bort en ldb-fil???
Så kan du ange parametrar där du låser tabellen exklusivt, har inte vilken kombination det är. Men tror att 1,3 är ok i alla fall.Sv: Hur få bort en ldb-fil???
Det där med låsningsfilen har jag tagit upp i en tidigare tråd
i samma forum. Min erfarenhet är att den ibland kan vara besvärlig
att få bort. Jag vet inte hur det är i dom nyaste versionerna av
Access, men om Access kraschar eller får problem så bryr den sig
inte om att ta bort sin låsningsfil. Den överlämnar gärna detta
problem till system-administratören. Orsakerna tror jag också
kan uppkomma pga problem hos klientdatorn eller i nätverket
som förvirrar Access. Ibland verkar det som om det inte är
så svårt. Jag skulle gärna vilja veta vilken konstig fråga man
kan ställa så att låsningsfilen försvinner utan att förvirra
Access och göra saken värre. Komprimera och reparara databasen
med jämna mellanrum kanske minskar problemen.
Även om klientens access varit stängd har jag ibland
varit tvungen starta om klientdatorn för att få bort informationen
i låsningsfilen. Vid ett tillfälle fick jag starta om servern.
Vad gäller ODBC-connections så kanske dom måste stängas på rätt
sätt. Jag har kunnat se innehållet i låsningsfilen med notepad
och åtminstone sett vilka datorer som den innehåller. Jag vet dock
inte om det gå med senaste versionen.
Jag har för mig att låsningsfilen skapas när databasen öppnas
som shared. Den krävs för att hålla reda på alla användare och
deras "samtidighet". Om Access öppnas exklusivt av en användare
borde väl ingen låsningsfil krävas eller? Om man öppnar sin
anslutning i "shared mode" tror jag att access i vissa fall kan
uppgradera till exclusiv.
Som jag sagt tidigare rekomenderar jag att man, om möjligt, delar
databasen( i gränssnitt och tabeller ), särskilt i webmiljö. Dom
databaser jag sett användas på detta sätt fungerar faktiskt bra.
Låsningsfilen tror jag är nödvändig, men bara om den innehåller
rätt information.
Bästa Hälsningar
Folke LarssonSv: Hur få bort en ldb-fil???
Här kommer några förtydliganden.
Dela Databas: Det går visserligen att dela en databas horisontellt
genom att placera tabeller i olika filer, vilket kan göras med
många databaser på olika sätt. Det går också att dela en databas
vertikalt genom partitionering, knappast tillgängligt i Access.
Det jag menar hittar men i menyn Verktyg-Tillägg-Databasdelning.
Den delningen separerar gränssnitt och tabeller. I dom fall jag
varit inblandad har det rört sig om vanliga nätverk där tabellerna
finns på servern och gränssnittet hos klient-datorerna. Om man ändrar
i gränssnittet måste man ändra hos alla klienter. Jag tror nog att
det går alldeles utmärkt även med web-databaser där man inte behöver
något gränssnitt.
Stänga anslutningar rätt: Med det menar jag att man inte ska glömma bort
att lägga in kod som stänger anslutningen (Connection.Close mm)till
databasen i alla Exceptionblock och liknande som "städar upp" när
klientprogrammet måste avslutas efter undantagsfel .
Open Exclusive: Enligt MS kan Access i vissa fall gradera upp en connection
till Exclusive från Shared och sedan gradera ner när den avslutas.
Jag tror dock att det bara får vara en användare för att det ska fungera.
Jag har inte provat själv, men sett kod, på hur man använder Exclusive
i fleranvändarmiljö. Då måste man själv skriva kod som hanterar situationen
då en klient försöker öppna en databas som redan är öppnad Exclusivt.
Denna klient måste då vänta till föregående klient avslutat sitt arbete
och stängt sin anslutning. Detta verkar klumpigt tycker jag, men det kanske
finns situationer då detta krävs.
Bästa Hälsningar
Folke Larsson