Avatar billede marrix Juniormester
24. oktober 2002 - 10:57 Der er 17 kommentarer og
2 løsninger

Dreamweaver Ultradev "låser" min database.

En lidt kryptisk titel, her en forklaring:

Har oprettet et site i Dreamweaver Ultradev. En opskriftssamling i en Access Database skal levere oplysninger til siden. Databasen ligger i en local folder og siderne ligger ligeledes i local folder, men "puttes" op på en remote folder (virtuel mappe - lokal server). Herfra skal siden connecte til databasen (local folder) og hente oplysninger.

Når jeg arbejder med siden i Dreamweaver, og via recordset eller andet opretter forbindelse til databasen, bliver databasen låst med en .ldb fil ("databasenavn".ldb - databasenavn det samme som navnet på den database den låser). Denne .ldb fil bliver liggende i samme mappe som databasen, og er hverken til at slette eller flytte (meddelelse: "filen bruges af en anden person eller et andet program..."). Ldb.filen giver problemer, for når jeg efterfølgende forsøger at se siden via browseren/serveren (lokal - defineret i IIS), får jeg følgende fejlmeddelelse:

Microsoft OLE DB Provider for ODBC Drovers (0x80004005) [Microsoft][ODBC Microsoft Acces-driver] "(ukendt)" kan ikke bruges, fordi filen allerede er i brug.

Der henvises til linie 5 på siden:
RSkategori. ActiveConnection = MM_connopskrifter_STRING
(RSkategori er mit recordset, og connopskrifter er navnet på den connection jeg har defineret i Dreamweaver).

Det er tilsyneladende denne .ldb fil der låser og optager databasen, så det ikke er muligt at se siden via browseren. Først når ldb.filen er væk, kan det lade sig gøre. Men som sagt er det ikke nemt at slette denne irriterende "låsefil". Først når Dreamweaver programmet er lukket helt, forsvinder ldb.filen af sig selv. Det er ikke engang nok at lukke de sider jeg arbejder med - Dreamweaver skal lukkes helt og aldeles.

For at have adgang til databasen har jeg tilføjet "system DSN" i ODBC - det er gjort helt efter bogen, og jeg kan ikke se at der skulle være fejl her. Tilsvarende har jeg oprettet en connection i Dreamweaver som "taler med" det førnævnte system DSN/ODBC (eller hvordan det nu formuleres - jeg er ikke ekspert!). Men også denne connection virker ukompliceret (et connectionnavn og en henvisning til nævnte DSN (odbc). Hvad kan gå galt her?

Jeg kører XP Pro, og har i IIS defineret en virtuel mappe på standardwebstedet, og alle filer ser ud til at ligge de rigtige steder, så det skulle fungere(?).

Så hvor ligger problemet? Mit eget gæt er Dreamweaver, da det er dette program der tilsyneladende vedholder og låser forbindelsen (via .ldb filen) til databasen, og dette program der skal lukkes før det er muligt at teste siden via server/browser. Men hvis Dreamweaver er problemet, hvor er det så jeg skal ændre noget? Jeg er helt på Herrens mark. Hjælp.

Venlig hilsen
Marianne
Avatar billede pelkjaer Nybegynder
24. oktober 2002 - 11:30 #1
Som udgangspunkt skal du placere alle dine filer i en mappe (selvfølgelig kan der være undermapper deri) - og denne mappe har du så defineret som rod i dit "site" i DW.

I IIS har du så oprettet et nyt virtuelt websted, hvor du peger på den mappe.

Du skal endvidere sørge for at du har læse/skrive rettigheder til den mappe din database ligger i (fx. en mappe kaldet "database" som er placeret i dit "site-mappe").

Det gør du ved at højreklikke på din db mappe, vælge "deling" og så give mappen en sharenavn - kan være hvad som helst.

---------------------------------------

Ovenstående har du sikkert på plads, skrev det bare for en sikkerheds skyld.

Det der normalt er årsagen til at der dannes en .ldb fil, er at du har databasen åben.

Når du skal browse på din side, og/eller redigere den i Dreamweaver, *skal* databasen være lukket. Er den det burde der ingen problemer være.
Avatar billede marrix Juniormester
24. oktober 2002 - 13:05 #2
Tak for svaret.

Jeg har oprettet et site. Mappen C:\arbejdsfiler_opskrifter fungerer som Local root folder, og er der hvor jeg har mit site, og derfra hvor jeg arbejder med websiden. Det er også her databasen ligger. Der er meget få sider, så det hele ligger i samme mappe.

Samtidig har jeg i Site definition under Remote info defineret at min Remote folder er en anden mappe på c-drevet (C:\opskrifter).

Når jeg er færdig med en side og vil teste den, "putter" (PUT) jeg siden og de sider der vedrører den (dependent files) i Remote folder.

I IIS har jeg oprettet en virtuel mappe der hedder opskrifter, med en lokal sti: C\:opskrifter (altså samme som Remote folder). Der er både læse- og skriveadgang herfra.

Databasen bliver liggende i Local root folder, men connection og ODBC/system DSN tilsammen skulle skabe forbindelse til databasen fra siderne i Remote folder.

Sitet skulle altså være i orden, og det virker da også upåklageligt, når blot jeg lukker fuldstændig for Dreamweaver og den forhadte .ldb fil dermed forsvinder. Men det er jo mildest talt besværligt at gøre, hver gang jeg vil teste en side.

Venlig hilsen
Marianne
Avatar billede pelkjaer Nybegynder
24. oktober 2002 - 13:10 #3
Det skulle heller ikke være meningen at lukke dw - blot access.

Din måde med "remote info" lyder dog lidt mystisk.

I din site definition, skal du kun bruge "remote info" til at angive din ftp. I "testing server" vælger du "local/network" og skriver i adressen "http://localhost/dit_alias/

Så skal du ikke flytte noget hver gang du vil browse, blot taste F12.
Avatar billede marrix Juniormester
24. oktober 2002 - 13:37 #4
Access er lukket når problemet opstår (dog har Dreamweaver jo på en eller anden måde åbnet/spærret databasen - ellers var der vel ikke en .ldb fil?!?). Remote info skulle være god nok - det er gjort lige efter bogen. Jeg bruger adressen: http://127.0.0.1/mit alias/ til at se siden.

Venlig hilsen
Marianne
Avatar billede pelkjaer Nybegynder
24. oktober 2002 - 14:58 #5
Min Dreamweaver laver ikke en .lbi fil - det sker kun når access er åbent. Så jeg ved ikke hva du ellers kan forsøge.
Avatar billede marrix Juniormester
25. oktober 2002 - 09:48 #6
Næ det ved jeg snart heller ikke. Måske er der noget tåbelig elementært noget jeg har overset (og mig der er et skvadderho'de) - det ville være pinligt, men ikke desto mindre en mulighed. Eller også er det noget temmelig kompliceret, som jeg aldrig har mulighed for selv at opdage. Suk, ihvertfald virker det stadig ikke.

Dog har jeg da fundet ud af, at den database som låses med .ldb filen godt kan åbnes på normal vis, og jeg kan rette og slette i den efter forgodtbefindende. Det er kun via browseren det kikser - her får jeg den "sjove" fejlmeddelelse som jeg har nævnt i det indledende spørgsmål.

P.t. prøver jeg at kigge i databasen - via browseren, men uden om hjemmesiden. Men jeg bliver bedt om en adgangskode. Hmmm det har jeg ikke prøvet før! Vender tilbage.

Marianne
Avatar billede neteffect Nybegynder
25. oktober 2002 - 11:36 #7
Det lyder som om du på samme tid kigger i databasen med Access, evt. med Dreamweaver, og via browser. Det er ikke nogen god idé.

Det er Access eller Access/JET-driveren, der lægger ldb-filen ved skrivning i databasen (Lock DB, deraf navnet).

I din web-applikation skal du sikre dig, at recordset closes og at conncetions closes.

Har Dreamweaver en eller anden form for test-mode, som man kan bruge under udviklingen? I så fald undlad at bruge den, hvis du har mistanke om, at den spærrer.

Hvis du behov for at kigge i databasen, fx for at afprøve queries, så brug en kopi af databasen. Tilgang til web-datasen bør kun ske med hhtp:// i browseren.

Ellers:
Husk at bruge OLE DB JET driveren, ikke ODBC Access driver. Se http://www.adopenstatic.com/faq/whyOLEDB.asp

Brug DSN-less connections, altså ikke noget med System DSN.
Avatar billede marrix Juniormester
25. oktober 2002 - 13:53 #8
Tja, det er nok noget i den rigtige retning, men det hele closes som det skal - det har jeg chekket.

For at komme videre gør jeg nu det, at jeg lægger/"putter" en kopi af databasen med over i min remote folder - og jeg har så tilsvarende lavet min connection om så den peger på denne kopi af databasen. Det virker. Nu kan jeg da chekke mine connections i Dreamweaver og oprette recordsets (og teste disse). Dreamweaver laver stadig med det samme denne spærrende .ldb fil, men (haha) nu gør det ikke noget, for websiden jeg kigger i henter slet ikke sine oplysninger fra den "låste" database, men fra kopien. Jeg skal jo så bare være opmærksom på hele tiden at opdatere de to databaser, så de hele tiden er ens og indeholder samme oplysninger (lidt træls).

Men jeg kunne nu altså godt tænke mig at vide, hvorfor det nævnte problem  er der. For det er helt sikkert ikke sådan det skal fungere.

På skolen fungerer en tilsvarende opgave upåklageligt. Her kører vi Windows 98. Der bliver (ved connection m.v. i Dreamweaver) lagt en .ldb fil sammen med databasen, som ikke kan slettes så længe Dreamweaver er åben - nøjagtigt som det sker på den opgave jeg løser hjemme på min egen pc. Men på skolen giver .ldb filen bare ingen problemer, jeg kan sagtens få lov at kigge på siden med databaseoplysningerne via browseren - no problemos. Virker fint.

Så mon det er noget med sikkerhed eller rettigheder i XP? Kan der være et eller andet via browseren (eller IIS), som p.g.a. noget sikkerhed eller lignende ikke tillader mig at kigge i en side, der henter oplysninger fra en "låst" database? Jeg kan jo - som sagt - sagtens åbne databasen direkte og rette og slette som jeg lyster (.ldb fil eller ej). Det er via browseren problemet opstår??? Altså: Under windows 98 virker det - under XP virker det ikke. Er der en sammenhæng eller hvad? Jeg mener at have løst de to opgaver (på skolen - 98 - og hjemme - xp) stort set på samme måde - dog ingen garantier.

Forslag til hvordan jeg kan løse problemet modtages stadig med kyshånd. Jeg har fundet en alternativ måde at komme videre i min opgave, men jeg vil absolut gerne vide, hvorfor det går galt, når jeg forsøger at løse opgaven på den rigtige måde.

De allervenligste hilsener
Marianne
Avatar billede pelkjaer Nybegynder
25. oktober 2002 - 14:20 #9
For mig lyder det stadig som om du sætter dit site forkert op.
Det med at du bruger en "remote folder" kan jeg ikke se idéen i.
Avatar billede kalaharikid Nybegynder
26. oktober 2002 - 11:53 #10
Hej Marianne, - En af mine kammerater har haft samme problem som du i XP -Problemet er vist noget med at XP ikke behandler virtuelle stier på samme måde som win98/NT/2000 - Han skulle ind i kontrolpanelet og slå 'Simple File Sharing' fra 'Folder Options' fra - Og så er det stadigvæk vigtigt at sikre sig at du som bruger har absolutte rettigheder over den .ldb -fil Access laver præcis som pelkjaer og neteffect anbefaler - Som udgangspunkt bruger IIS dit Internetbrugernavn (IUSR_computername) til at afgøre hvilke rettigheder du har når du tester via PWS/IIS - og dem stiller du i kontrolpanel/administation - Håber det lykkes !
Avatar billede marrix Juniormester
26. oktober 2002 - 16:36 #11
Hej Kalaharikid - ja det lyder som noget i den rigtige retning. Efter at have rodet godt og grundigt rundt i alt muligt (som jeg overhovedet ikke har forstand på), har jeg besluttet, at det MÅ være noget med XP - browser, IIS eller lignende. Jeg har forsøgt mig med dit forslag: Jeg har en dansk version af XP, men gætter på at dit forslag oversat må være noget i denne retning: Kontrolpanel, funktioner, mappeindstillinger, vis, filer og mapper, "Brug enkel fildeling (anbefales)" - fluebenet fjernes. Mon det er rigtigt? Det virkede desværre ikke i første omgang, men jeg roder lidt videre med dette og det du nævner om absolutte rettigheder i databasen.

Til pelkjaer: Det er bestemt ikke usandsynligt, at jeg har lavet en fejl da jeg satte mit site op, men jeg har gjort det som foreskrevet i bogen "Ultradev - training from the source", og denne måde at gøre det på, virker på skolen. Remote folder er - så vidt jeg ved - den server jeg skal uploade mit site på, det fungerer vel som en slags ftp (hvad jeg da også ved en tidligere lejlighed har brugt det til). Men i dette tilfælde er ”serveren” altså den selv samme computer, som jeg arbejder ved (defineret i IIS). Det er nødvendigt at gøre det sådan, idet mit site indeholder en masse ASP koder (Ultradev), som skal behandles af en server, for at kaste et resultat af sig. Jeg "leger" altså at jeg uploader mit site til en ekstern server, hvorefter jeg via browseren henter det igen fra samme "server" - i begge tilfælde altså min egen computer. Bær over med mig, hvis jeg forsøger at belære dig om noget du ved alt om - jeg kender jo ikke dine forudsætninger. Men som sagt, jeg udelukker bestemt ikke, at jeg har kvajet mig med et eller andet elementært, som nu giver mig problemer. Dog tror jeg ikke længere på, at mit store overordnede problem skyldes selve Dreamweaver, connection eller sitet - det må næsten have noget med XP og rettigheder/sikkerhed at gøre, måske måske?

Småfilosoferer lidt: Måske det giver problemer at jeg har konto som "Computeradministrator"? En tidligere fejlmeddelelse fik mig til at tænke på, om det mon er fordi jeg som Administrator (når jeg roder i DW, connecter og opretter recordset), låser databasen på en så konsekvent måde, at jeg som "udefrakommende" via browseren/IIS - ganske vist lokalt - ikke har adgang. Noget i retning af: "Når computeradministratoren roder med databasen, skal ingen andre udefrakommende have adgang - delt adgang eller ej...". Jeg har forsøgsvis ændret min konto til Begrænset, men i første omgang uden at det hjælper spor - måske skal jeg genstarte pc'en??? Bare en tanke, men det får måske en klokke til at ringe hos en eller anden ekspert!

Min alternative måde med at forsøge at snige mig uden om problemet virkede (selvfølgelig) ikke. Nu oprettes .ldb filen bare i min remote folder, hvor jeg connecter til når jeg piller med DW. Og dermed vil browseren (???) stadig ikke give mig adgang, da den connecter til samme "låste" database via websiden. Det kunne jeg jo have sagt mig selv.

Venlige hilsener
Marianne
Avatar billede pelkjaer Nybegynder
26. oktober 2002 - 17:05 #12
Jeg ved godt hvad iis og serverside scripting er :)
Og jeg skulle også mene at jeg ved hvordan dreamweaver virker.

Nu kan jeg ikke helt huske om der er forskel på Ultradev 4 og DW MX netop her, men jeg mener ikke at der er.

Når jeg skal sætte et dynamisk site op, så starter jeg med at gå i kontrolpanel-->administration-->iis:
Her laver jeg en ny virtuel mappe (vælger en mappe hvorfra mit site skal køre) og giver den et alias, fx. "marianne".

Herefter åbner jeg DW, vælger site-->new site:
I local info peger jeg må min mappe som jeg netop har givet et alias i IIS, navngiver denne mappe - og så ikke mere her.
Remote info udfylder jeg kun hvis jeg ønsker at sætte FTP op.
Testing server er netop den du istedet skal udfylde for at bruge din lokale IIS.
Server model: ASP/VB script
Access: Local/Network
Tesing server folder: Igen min mappe hvorfra siden køres
Url Prefix: http://localhost/marianne/

That's it.
Avatar billede marrix Juniormester
26. oktober 2002 - 18:25 #13
Til Pelkjaer. Hmmmmmm så blev jeg lige sat på plads - du er vist langt mere velbevandret udi det Dreamweav'ske og hvad dertil hører end jeg er. Nå det havde jeg jo bare godt af, havde nok på fornemmelsen at jeg burde afholde mig fra at forsøge at belære dig :)
Jeg prøver lige at forstå din måde at gribe sagen an på, for herefter at forsøge at forstå den måde jeg afvikler (forsøger!) det på - og hvorfor! Når vi på skolen gør det på den måde jeg har beskrevet, er det måske fordi vi skal lære/prøve at connecte til en database, der ikke nødvendigvis ligger i samme mappe som sitet (ODBC?)? Uanset hvad, så forsøger jeg nu at sætte sitet op som du beskriver det. Hvis jeg dermed slipper for det bøvl det er at konstant at skulle lukke DW for at se via browseren - så tager jeg imod løsningen med kyshånd. Så kan jeg altid senere prøve at finde ud af, hvorfor den anden måde ikke virker på min pc (XP), når det nu virker fint på skolen (Win 98).

Mange venlige hilsener
Marianne
Avatar billede marrix Juniormester
26. oktober 2002 - 21:33 #14
:) HURRA! Nu virker det - jeg kunne græde af glæde. For f..... hvor har jeg brugt meget tid på det her, og så endte det endda op med at være en forholdsvis elementær fejl/forglemmelse fra min side.

Det VAR noget med rettigheder og XP. Hidtil har jeg kun forsøgt mig med  virtuelle mapper under win 98 og PWS, så det er lidt nyt med XP og IIS. Jeg troede at alle rettigheder og adgange var på plads, når blot jeg havde sikret mig at det var i orden i IIS. MEN tilsyneladende er det nødvendigt at højreklikke (f.eks. via Stifinder) på hver enkelt af de mapper der peger ned mod sitet, og sikre at der under Egenskaber, Sikkerhed, Avanceret er 'Fuld kontrol' (jeg har ihvertfald sagt fuld kontrol til det hele for en "sikkerheds skyld" - høhø), og herefter i Deling sætte flueben i 'Del denne mappe'. I stifinder har jeg ligeledes højreklikket på databasen og givet Fuld kontrol til hele striben. Jeg ved ikke helt nøjagtigt om det var nødvendigt at rette alle mapperne og databasen - eller om det havde været nok bare med databasen eller den sidste mappe lige inden sitet. Men det virker nu, og jeg er meget lykkelig. I bund og grund en næsten pinlig simpel affære, men eftersom jeg endnu ikke har været ude for at noget tilsvarende er nødvendigt i Win 98, ja så var det ikke lige det der faldt mig først ind. Lidt pinligt måske...?

Eftersom det endte op med at være et spørgsmål om rettigheder, og da både pelkjaer og kalaharikid har været inde på dette (pelkjaer 24/10-2002 11:30:07 og kalaharikid 26/10-2002 11:53:08), vil jeg i dette lykkelige øjeblik gavmildt dele de 200 point mellem disse to eksperter. Tak for hjælpen til alle.

P.s. ...og tak til pelkjaer for en noget nemmere måde at sætte sitet op på. Jeg behøver nu ikke længere at "putte" til remote folder, når jeg via browseren vil se resultatet af en ændring. Det virker fint sådan som du har beskrevet det, så på mandag spørger jeg min hr. lærer hvorfor i alverden vi på skolen gør det på den anden og noget mere besværlige måde (som jeg har beskrevet). I øvrigt testede jeg selvfølgelig om denne måde at sætte sitet op på løste mit overordnede problem - det gjorde det ikke, fejlmeddelelsen var stadig den samme. Men ikke desto mindre er det noget nemmere at have med at gøre nu, så mange tak...

De venligste hilsener 
Marianne
Avatar billede pelkjaer Nybegynder
26. oktober 2002 - 23:06 #15
Det er godt du har løst det, det er ligesom det primære :)

Med hensyn til rettigheder burde det være nok at højre klikke på den mappe hvori databasen ligger (fx. "database" placeret i din rod mappe) og vælge "deling" samt angive et sharenavn (som jeg også skrev i aller første kommentar). Det er den eneste mappe der behøver læse/skrive rettigheder. I hvert fald hvis du logger på som Computer administrator (kan du se i kontrolpanel->bruger konti).

Jeg glæder mig endvidere til at høre din lærers svar på tiltale :)
Måden "han" lærer dig lyder noget mystisk - flere af programmets funktioner (her bl.a. live data view) kan næppe fungere på den måde.

Og til sidst, det var nu ikke mig der fik point som du ellers antydede, men det går nu nok alligevel :)
Avatar billede marrix Juniormester
27. oktober 2002 - 13:51 #16
Til pelkjaer, jeg er ked af at høre du ikke fik din del af pointene. Jeg valgte "avanceret" ved pointtildeling, og havde så dig og kalaharikid at fordele pointene på. Jeg skrev 100 i hver af jeres bokse. Det burde da være helt i orden??? Jeg forstår ikke hvor det kan være gået galt....?
Øv :(

Jeg har her til morgen været i gang med at fjerne noget af alt det jeg tildelte af delinger og kontroller i går som beskrevet, for at finde ud af præcis hvad det var der gjorde at det pludselig virkede. Det er tilsyneladende ikke det med "Del denne mappe", for det har jeg nu slået fra alle steder, så der står "Del ikke denne mappe" - og det virker stadigvæk. Det er først når jeg i mappen, hvor databasen (og sitet) ligger, under (Egenskaber) Sikkerhed fratager "Brugere" "Fuld kontrol" - så går det galt. Så det må være essensen af mit problem, eller rettere løsningen på mit problem.

Jeg vender tilbage med svar fra min lærer, hvis du er interesseret i at høre hans svar.

Som sagt, ked af det med pointene, du havde fortjent din del, og jeg fatter ikke at det gik galt.

Mange venlige hilsener
Marianne
Avatar billede pelkjaer Nybegynder
27. oktober 2002 - 13:58 #17
Der gik det galt at jeg ikke havde lagt et svar, hvorfor du ikke kunne give mig point. Jeg venter gerne til sidst med at lægge svar, men glem det, jeg er ligeglad :)
Avatar billede marrix Juniormester
05. november 2002 - 10:33 #18
Til pelkjaer:
Ja nu er det jo ved at være nogle dage siden, men jeg skylder dig jo en forklaring fra min lærer om, hvorfor vi på skolen benytter os af den lidt besværlige måde at fordele sitet på i remote folder m.v. Svaret var, at vi via den bog vi arbejder ud fra, skal forestille os at vi uploader på en server, så vi også for denne dimension med. Men han indrømmede at "din" måde at gøre det på, naturligvis er nemmere (og det også oftest er den måde han selv gør det). Men Ultradev bogen lægger altså op til at gøre det på den anden måde. Hmmmm, ja jeg fortsætter nu altså med "din" måde - det er meget nemmere.

Mange venlige hilsener
Marianne
Avatar billede pelkjaer Nybegynder
05. november 2002 - 10:41 #19
hehe ok :)

Hele idéen med en lokal server er vel også at teste offline, og først uploade når man er færdig, så deeeet *G*
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester