Jag är helt grön på det här med IIS & ASP, tidigare har jag enbart sysslat med PHP på Apache, så ursäkta om jag ställer idiotiska frågor.
Jag har fått i uppdrag att installera en kopia av en existerande webbtjänst på en lokal server. Det ska fungera som en utvecklingsserver där tester av förändringar i koden ska kunna genomföras innan de publiceras.
Servern har Windows 2000 server, och jag har fått igång den såpass att den visar asp-sidor korrekt. Dock fixar den inte databaskopplingar. Med alla asp-filer fick jag en .mdb-fil som jag har öppnat i access och konstaterat att det är en databas.
När jag försöker köra en asp-fil med databaskoppling får jag felet
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
(Microsoft) (ODBC Driver Manager) Driver's SQLSetConnectAttr failed
Jag har gått in på Data sources under Administrative Tools och lagt till databasen under System DSN. Vad mer behöver göras? Var ska jag placera .mdb-filen? I conndb.asp som används för att ansluta till databasen anges ingen sökväg.
Har du samma MDAC på servern som lokalt? Ser ODBC-kopplingen likadan ut? Säker på att databasfilen finns där du angett, och att fil- / mapprättigheter är korrekta? Har du provat med en dsn-lös anslutning?
Har du samma MDAC på servern som lokalt? Ser ODBC-kopplingen likadan ut? Säker på att databasfilen finns där du angett, och att fil- / mapprättigheter är korrekta? Har du provat med en dsn-lös anslutning?
Jag har tyvärr inte tillgång till den riktiga servern för att jämföra. Jag ska se om jag kan fixa ihop en DSN-lös koppling bara för att prova.
Användare, var ställer jag in det? Jag har bara en Administratör på burken (den är inte ansluten till internet).
Jag bytte ut conndb.asp mot följande kod
<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & _
Server.MapPath("databas.mdb")&";"
%>
Det medförde felet General error. Unable to open registry key 'Temporary (volatile) Jet DSN for proces 0x688 Thread 0x6c8 DBC 0x21019c4 Jet' Jag antar att det är något rättighetsproblem. Var ställer jag in dessa rättigheter?
Jisses, jag känner mig som värsta nybörjaren igen. Ganska trevligt att ge sig in på nya äventyr, faktiskt. :)
Ah, det senaste felet berodde förmodligen på att jag hade access-databasen öppen i access samtidigt som jag försökte ladda sidan.
När jag stängde den fick jag istället "Unspecified error". Det blev jag inte så mycket klokare på.
/r Det var värst, jag får olika fel nästan varje gång jag provar. Just nu sitter jag med ett inloggningsformulär och när jag skriver in ett felaktigt lösenord får jag unspecified error, och när det är korrekt säger den Operation must use an updateable query..
<%
Function connect()
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("/din databas.mdb") & ";"
Set connect = objConn
End Function
set objConn = Connect()
%>
inkludera den här koden på varje sida som en includefil
för att se hämta data är det bara att köra <%=rs("din kolumn")%> efter att du har satt din sql-sats
SQL-frågan skickades till @nders via PM, och han konstaterade att databasen var skumt uppbyggd, bland annat hade några tabeller reserverade namn. Hur de har fått detta att fungera tidigare vet jag inte. Jag löste det genom att byta namn på några tabeller.
Jag har bara en användare på burken, behöver man ha en användare som heter IUSR_xxxx också?
Dock, har du installerat IIS så skall den användaren finnas, vare sig du vill eller inte, om du inte tagit bort den själv.
Då har jag nog antingen lyckats pilla bort användaren själv eller misslyckats kapitalt vid installationen. Jag kan ju ge mig på en ominstallation för att se om det löser problemet.