Användarhandbok Avbryt

Felsök databasanslutningar

 

 

Felsöka behörighetsproblem, felmeddelanden från Microsoft och felmeddelanden i MySQL i Dreamweaver.

Obs!

Användargränssnittet i Dreamweaver och senare har förenklats. Det kan därför hända att du inte hittar vissa av alternativen i den här artikeln i Dreamweaver och senare. Mer information finns i den här artikeln.

Felsöka behörighetsproblem

Ett av de vanligaste problemen är otillräcklig behörighet för mappar eller filer. Om databasen finns på en Windows 2000- eller Windows XP-dator och ett felmeddelande visas när du försöker visa en dynamisk sida i en webbläsare eller i Live-vyn kan felet bero på ett behörighetsproblem.

Windows-kontot som försöker få åtkomst till databasen har inte tillräckligt med behörighet. Kontot kan antingen vara det anonyma Windows-kontot (som standard IUSR_datornamn) eller ett visst användarkonto om sidan har säkrats för verifierad åtkomst.

Du måste ändra behörigheten för att ge kontot IUSR_datornamn rätt behörighet så att webbservern kan komma åt databasfilen. Dessutom måste mappen som innehåller databasfilen även ha en viss behörighet för att kunna skriva till den databasen.

Om det är meningen att man ska kunna gå in anonymt på sidan ger du kontot IUSR_datornamn full kontroll till mappen och databasfilen, så som beskrivs i proceduren nedan.

Om sökvägen till databasen dessutom hänvisas till via UNC (\\Server\Share) ser du till att Dela behörighet ger kontot IUSR_datornamn fullständig åtkomst. Det här steget gäller även om delningen sker på den lokala webbservern.

Om du kopierar databasen från en annan plats kanske den inte får behörigheten från sin destinationsmapp och du kanske måste ändra behörigheten för databasen.

Kontrollera eller ändra behörigheten för databasfilen (Windows XP)

  1. Kontrollera att du har administratörsbehörighet på datorn.
  2. I Utforskaren i Windows letar du reda på databasfilen som innehåller databasen, högerklickar på filen eller mappen och väljer Egenskaper.
  3. Välj fliken Säkerhet.
    Obs!

    Det här steget gäller endast om du har ett NTFS-filsystem. Om du har ett FAT-filsystem kommer dialogrutan inte att innehålla fliken Säkerhet.

  4. Om kontot IUSR_datornamn inte finns med i listan Grupp- eller användarnamn klickar du på knappen Lägg till för att lägga till den.
  5. Klicka på Avancerat i dialogrutan Välj användare eller grupper.

    Dialogrutan ändras och visar fler alternativ.

  6. Klicka på platser och välj datorns namn.
  7. Klicka på Hitta nu för att visa en lista med kontonamn som är kopplade till datorn.
  8. Markera kontot IUSR_datornamn och klicka på OK. Klicka sedan på OK igen för att ta bort dialogrutan.
  9. Om du vill tilldela IUSR-kontot fullständig behörighet väljer du Full kontroll och klickar på OK.

Kontrollera eller ändra behörigheten för databasfilen (Windows 2000)

  1. Kontrollera att du har administratörsbehörighet på datorn.
  2. I Utforskaren i Windows letar du reda på databasfilen som innehåller databasen, högerklickar på filen eller mappen och väljer Egenskaper.
  3. Välj fliken Säkerhet.
    Obs!

    Det här steget gäller endast om du har ett NTFS-filsystem. Om du har ett FAT-filsystem kommer dialogrutan inte att innehålla fliken Säkerhet.

  4. Om kontot IUSR_datornamn inte finns med bland Windows-kontona i dialogrutan Filbehörighet klickar du på knappen Lägg till för att lägga till det.
  5. I dialogrutan Välj användare, datorer eller grupper väljer du datorns namn på menyn Sök i för att visa en lista med kontonamn som är kopplade till datorn.
  6. Markera kontot IUSR_datornamn och klicka på Lägg till.
  7. Om du vill tilldela IUSR-kontot fullständig behörighet väljer du Full kontroll på menyn Typ av åtkomst och klickar på OK.

    För extra säkerhet kan du ställa in behörigheten så att behörigheten Läsa är inaktiverad för webbmappen som innehåller databasen. Då går det inte att bläddra i mappen, men webbsidor kommer fortfarande att kunna komma åt databasen.

    Mer information om behörighet för IUSR-kontot och webbservern finns i följande TechNotes i Adobes supportcenter:

Felsöka felmeddelanden från Microsoft

Dessa felmeddelanden från Microsoft kan visas när du begär en dynamisk sida från servern om du använder Internet Information Server (IIS) med ett Microsoft-databassystem, t.ex. Access eller SQL Server.

Obs!

Adobe ger ingen teknisk support för program från tredje part, t.ex. Microsoft Windows och IIS. Om den här informationen inte hjälpte dig åtgärda problemet kan du kontakta Microsofts tekniska support eller gå in på Microsofts supportwebbplats på http://support.microsoft.com/.

Om du vill ha mer information om 80004005-fel kan du läsa ”INFO: Troubleshooting Guide for 80004005 Errors in Active Server Pages and Microsoft Data Access Components (Q306518)” på Microsofts webbplats på http://support.microsoft.com/default.aspx?scid=kb;sv-se;Q306518.

[[Referens]80004005–Datakällan hittades inte och ingen standarddrivrutin är angiven]

Det här felet inträffar när du försöker visa en dynamisk sida i en webbläsare eller i Live-vyn. Felmeddelandet kan variera beroende på databasen och webbservern. Andra varianter på felmeddelandet är:

  • 80004005—Drivrutinens SQLSetConnectAttr misslyckades

  • 80004005—Allmänt fel, det gick inte att öppna registernyckeln DriverId

    Här följer möjliga orsaker och lösningar:

  • Sidan kan inte hitta DSN. Kontrollera att DSN har skapats både på webbservern och på den lokala datorn.

  • DSN har konfigurerats som ett användar-DSN, inte som ett system-DSN. Ta bort användar-DSN:et och skapa ett system-DSN som du ersätter det med.

Obs!

Om du inte tar bort användar-DSN:et kommer dubbla DSN-namn att generera ett nytt ODBC-fel.

Om du använder Microsoft Access kan databasfilen (.mdb) vara låst. Låset kan bero på att ett DSN med ett annat namn kommer åt databasen. I Utforskaren i Windows letar du reda på den låsta filen (.ldb) i mappen som innehåller databasfilen (.mdb) och tar bort .ldb-filen. Om ett annat DSN leder till samma databasfiler tar du bort detta DSN för att förhindra att felet inträffar i framtiden. Starta om datorn när du har gjort ändringarna.

[[Referens]80004005–Det går inte att använda "(unknown)", filen används redan]

Det här felet inträffar när du använder en Microsoft Access-databas och försöker visa en dynamisk sida i en webbläsare eller i Live-vyn. En annan variant på det här felmeddelandet är ”80004005—Det går inte att öppna filen (okänd).”

Den troliga orsaken är ett behörighetsproblem. Här följer några särskilda orsaker och lösningar:

  • Kontot som används av Internet Information Server (vanligtvis IUSR) kanske inte har rätt Windows-behörighet för en filbaserad databas eller för mappen som innehåller filen. Kontrollera behörigheten i IIS-kontot (IUSR) i användarhanteraren.

  • Du kanske inte har behörighet att skapa eller förstöra tillfälliga filer. Kontrollera behörigheten för filen och mappen. Se till att du har behörighet att skapa eller förstöra tillfälliga filer. Tillfälliga filer skapas ofta i samma mapp som databasen, men filen kan även skapas i andra mappar, t.ex. /Winnt.

  • I Windows 2000 kan timeout-värdet behöva ändras för DSN för Access-databasen. Om du vill ändra timeout-värdet väljer du Start > Inställningar > Kontrollpanelen > Administrationsverktyg > Datakällor (ODBC). Klicka på fliken System, markera rätt DSN och klicka på knappen Konfigurera. Klicka på Alternativ och ange värdet 5000 i Timeout för sida.

    Om du fortfarande har problem kan du läsa följande Microsoft Knowledge Base-artiklar:

  • PRB: 80004005 ”Kunde inte använda (okänd), filen används redan” på http://support.microsoft.com/default.aspx?scid=kb;sv-se;Q174943.

  • PRB: Microsoft Access-databas anslutning mislyckas på aktiva serversidor på http://support.microsoft.com/default.aspx?scid=kb;sv-se;Q253604.

  • PRB: Felet Kan inte öppna fil (okänd) med Access på http://support.microsoft.com/default.aspx?scid=kb;sv-se;Q166029.

[[Referens]80004005–Inloggning misslyckades()]

Det här felet inträffar när du använder Microsoft SQL Server och försöker visa en dynamisk sida i en webbläsare eller i Live-vyn.

Det här felet skapas av SQL Server om det inte godkänner eller känner igen inloggningskontot eller lösenordet som anges (om du använder vanlig säkerhet) eller om ett Windows-konto inte avbildas på ett SQL-konto (om du använder inbyggd säkerhet).

Här följer tänkbara lösningar:

  • Om du använder vanlig säkerhet kan kontonamnet och lösenordet vara felaktiga. Prova kontot och lösenordet för systemadministratören (UID= ”sa” och inget lösenord), vilka måste anges i raden för anslutningssträngen. (DSN sparar inte användarnamn och lösenord.)

  • Om du använder inbyggd säkerhet kontrollerar du Windows-kontot som anropar sidan och letar reda på dess avbildade SQL-konto (om det finns något).

  • SQL Server tillåter inte understreck i namn på SQL-konton. Om någon avbildar Windows-kontot IUSR_datornamn manuellt på ett SQL-konto med samma namn kommer det inte att fungera. Avbilda konton som använder understreck på ett kontonamn på SQL som inte använder ett understreck.

[[Referens]80004005–Operationen måste använda en fråga som kan uppdateras]

Det här felet inträffar när en händelse uppdaterar en postmängd eller infogar data i en postmängd.

Här följer möjliga orsaker och lösningar:

  • Behörigheten som är angiven för mappen som innehåller databasen är för restriktiv. IUSR-behörigheten måste vara inställd på läsa/skriva.

  • Behörigheten för själva databasfilen har inte fullständig behörighet för att läsa/skriva.

  • Databasen kan finnas utanför katalogen Inetpub/wwwroot. Trots att du kan visa och söka efter data kanske du inte kan uppdatera dem såvida inte databasen finns i katalogen wwwroot.

  • Postmängden är baserad på en fråga som inte är uppdateringsbar. Joins är bra exempel på frågor som inte är uppdateringsbara i en databas. Strukturera om frågorna så att de är uppdateringsbara.

    Om du vill ha mer information om det här felet kan du läsa ”PRB: ASP Fel "Frågan är inte uppdaterbar" när tabellposten uppdateras” i Microsoft Knowledge Base på http://support.microsoft.com/default.aspx?scid=kb;sv-se;Q174640.

[[Referens]80040e07–Typblandningsfel i villkorsuttryck]

Det här felet inträffar när servern försöker bearbeta en sida som innehåller serverfunktionen Infoga post eller Uppdatera post och serverfunktionen försöker ange värdet för kolumnen Datum/Tid i en Microsoft Access-databas i en tom sträng ("").

Microsoft Access har strikt typkontroll. Den inför hårda regler på angivna kolumnvärden. Värdet i den tomma strängen i SQL-frågan kan inte sparas i kolumnen Datum/Tid i Access. För närvarande är det enda sättet att kringgå detta att undvika att infoga eller uppdatera kolumnerna Datum/Tid i Access med tomma strängar ("") eller med andra värden som inte motsvarar intervallet med värden som angivits för datatypen.

[[Referens]80040e10–För få parametrar]

Det här felet inträffar när en kolumn som angivits i SQL-frågan inte finns i databastabellen. Kontrollera kolumnnamnen i databastabellen mot SQL-frågan. Orsaken till detta fel är ofta ett stavfel.

[[Referens]80040e10–Felaktigt COUNT-fält]

Det här felet inträffar när du förhandsvisar en sida som innehåller serverfunktionen Infoga post i en webbläsare och försöker använda den för att infoga en post i en Microsoft Access-databas.

Du kanske försöker infoga en post i ett databasfält som innehåller ett frågetecken (?) i fältnamnet. Frågetecknet är ett specialtecken för vissa databasprogram, bland annat Microsoft Access, och ska inte användas i namn på databastabeller eller fält.

Öppna databassystemet och ta bort frågetecknet (?) från fältnamnet och uppdatera serverfunktionerna på sidan som hänvisar till det här fältet.

[[Referens]80040e14–Syntaxfel i INSERT INTO-uttryck]

Det här felet inträffar när servern försöker bearbeta en sida som innehåller serverfunktionen Infoga post.

Det här felet beror ofta på ett eller flera av följande problem med namnet på ett fält, objekt eller en variabel i databasen:

  • Använda ett reserverat ord som ett namn. De flesta databaser har en uppsättning reserverade ord. T.ex. är ”datum” ett reserverat ord som inte får användas som kolumnnamn i en databas.

  • Använda specialtecken i namnet. Exempel på specialtecken är:

    . / * : ! # & - ?

  • Använda ett mellanslag i namnet.

    Felet kan även inträffa när en indatamask är angiven för ett objekt i databasen och infogade data inte överensstämmer med indatamasken.

    Om du vill åtgärda problemet ska du undvika att använda reserverade ord, t.ex. ”date”, ”name”, ”select”, ”where” och ”level” när du anger kolumnnamn i databasen. Ta även bort mellanslag och specialtecken.

    Gå in på följande webbsidor för att se en lista med reserverade ord för vanliga databassystem:

  • Microsoft Access på http://support.microsoft.com/default.aspx?scid=kb;sv-se;Q209187

  • MySQL på http://dev.mysql.com/doc/mysql/en/reserved-words.html

[[Referens]80040e21–ODBC-fel vid Infoga eller Uppdatera]

Det här felet inträffar när servern försöker bearbeta en sida som innehåller serverfunktionen Uppdatera post eller Infoga post. Databasen kan inte hantera uppdateringen eller infogandet som serverfunktionen försöker utföra.

Här följer möjliga orsaker och lösningar:

  • Serverfunktionen försöker uppdatera en databastabells fält för automatisk numrering eller infoga en post i ett fält med automatisk numrering. Eftersom fälten för automatisk numrering fylls i automatiskt av databassystemet misslyckas försök att fylla i dem med värden manuellt.

  • Data som serverfunktionen uppdaterar eller infogar är av fel typ för databasfältet, t.ex. infogar ett datum i ett booleskt fält (ja/nej), infogar en sträng i ett numeriskt fält eller infogar en felaktigt formaterad sträng i fältet Datum/Tid.

[[Referens]800a0bcd–Antingen BOF eller EOF är true]

Det här felet inträffar när du försöker visa en dynamisk sida i en webbläsare eller i Live-vyn.

Problemet inträffar när sidan försöker visa data från en tom postmängd. Om du vill lösa problemet använder du serverfunktionen Visa region på det dynamiska innehållet som ska visas på sidan, enligt följande:

  1. Markera det dynamiska innehållet på sidan.

  2. I panelen Serverfunktioner klickar du på plusknappen (+) och väljer Visa region > Visa region om postmängden inte är tom.

  3. Markera postmängden som levererar det dynamiska innehållet och klicka på OK.

  4. Upprepa stegen 1 till 3 för varje element med dynamiskt innehåll på sidan.

Felsöka felmeddelanden i MySQL

Ett vanligt felmeddelande du kan träffa på när du testar en PHP-databasanslutning till MySQL 4.1 är ”Client does not support authentication protocol requested. Consider upgrading MySQL client.”

Du kanske måste återgå till en tidigare version av MySQL eller installera PHP 5 och kopiera några dynamiska länkbibliotek (DLL). Ingående anvisningar finns i Konfigurera en PHP-utvecklingsmiljö.

Få hjälp snabbare och enklare

Ny användare?