Avatar billede boedker Nybegynder
05. maj 2001 - 13:46 Der er 6 kommentarer og
1 løsning

ASP/access database igen, igen

Jeg har endnu ikke rigtig fundet ud af hvordan eksperten fungerer, så jeg tror at jeg accepterede et svar uden at jeg fik løst problemet.

Derfor prøver jeg igen

Jeg har arbejdet med ASP i ca 1 måned, og har Installeret Personal Web Server på min PC jeg har Windows 98 2. udgave.

Indtil nu er alt gået godt, med nu skal jeg til at knytte databaser til og her kommer problemet: 
Jeg kan ikke få min database forbindelse til at virke, har I et forslag til hvad jeg gør forkert:

1). hvis jeg skriver:

SET objConn = Server.CreateObject(\"ADODB.Connection\")
objConn.Open  \"DRIVER={Microsoft Access Driver(*.mdb)};DBQ=\" & Server.MapPath(\"database1.mdb\") 

får jeg ingen fejlmeddelse, men får til gengæld ikke vis en eneste record, der er records i databasen og det virker på mit uddannelsessted, med samme applikation og database. Begge dele ligger i samme mappe i
wwwroot.

2). Hvis jeg skriver:

SET objConn = Server.CreateObject(\"ADODB.Connection\")
objConn.Open  \"DRIVER={Microsoft Access Driver(*.mdb)};DBQ=C:\\Inetpub\\wwwroot\\database\\database1.mdb)\" 

Får jeg følgende fejlmeddelse:
   
Microsoft OLE DB Provider for ODBC Drivers fejl \'80004005\'

[Microsoft][ODBC Driver Manager] DSN findes ikke, og der er ikke angivet en standarddriver.

Nu har jeg så afinstalleret/geninstalleret PWS fra min CD-ROM under add-ons\\pws

Når jeg gør dette får jeg følgende 3 fejlmeddelser:

1):

Microsoft Transaction Server Installation
Der opstod en ukendt fejl under forsøg på at foretage MTS-specifikke ændringer af registreringsdatabasen
Fejlkode = 0x80004005

2):       

Installationen af \"Hovedkomponenterne til Transaction Server\" mislykkedes
Fejlkoden er 0xfee670
Installation fortsættes, med komponenterne fungerer muligvis ikke korrekt.

3):

Installationen af Microsoft Transaction Server blev ikke udført

Kan disse fejlmeddelser være grunden til at
jeg ikke kan læse min database herhjemme, men at det går fint med samme applikation på skolen??

Det virker for mig som en opsætningsfejl, - eller hva\' ??

Jeg har lidt svært ved at lave lektier/komme videre før jeg får løst problemet


Jeg fik følgende svar:

Har du opgraderet ODBC driverne til sidste version, Mener det er  MDAC2.6

ligger asp filerne og under /database, for asp filerne og database skal ligge i samme bibliotek. Eller kan du bruge DBQ=\" & Server.MapPath(\"/database/database1.mdb\")

-Per

Og svarede herefter:


Jeg har databasen og filerne liggende i samme bibliotek.
Skal jeg ud i kontrolpanel under 32bit-ODBC
og pege på min database, det skulle jeg engang da jeg programmerede noget PHP??

Hvordan undersøger jeg om min OBCD driver er seneste version??
Jeg fik først min PC i efteråret 2000 og jeg har WINDOWS 98 2.UDGAVE som styresystem

Jeg har lige downloadet et applikation som opretter ændre og viser poster i en database
den virker heller ikke, dvs jeg kan godt oprette nye poster, men jeg kan ikke få dem vist
Fejl meddelse:

Provider fejl \'80004005\'

Uspecificeret fejl

Hilsen gib


 

Min asp file ser ud som følgende:


<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Adresse kartotek    </title>
</head>

<body>
<%
\'******************************************************************************************
\'*  id  bliver hentet fra sessionen                                                  *
\'******************************************************************************************


\'Oprettelse af forbindelse:

set objconn = Server.CreateObject(\"ADODB.Connection\")
objconn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"database1.mdb\")
Set RS = server.CreateObject(\"adodb.recordset\")

\'Oprettelse af recordset:

SET RS = Server.CreateObject(\"ADODB.recordset\")




session(\"id\") = Request.QueryString(\"id\")
\' response.write session(\"id\")


if session(\"id\") = \"\" then
  strSQL =\"Select * from adresse order by adr_efternavn \"
else
 
  strSQL =\"Select * from adresse order by \" & session(\"id\")
end if




RS.Open strSQL,objConn
%>
<CENTER>
<BR>
<br><br><br>
<%= strSQL%>
<br><br><br><br><TABLE>
<TR>

<%
  FOR EACH FELTNAVN IN RS.FIELDS
      Response.Write \"<TH>\"
      Response.Write \"<a href=\'adressekartotek2.asp?id=\"&FELTNAVN.NAME&\"\'>\" &FELTNAVN.NAME &\"</a>\"
      Response.Write \"</TH>\"
     
    NEXT

Response.Write \"</TR></TR>\"     
Dim j
j = 1 
DO UNTIL RS.EOF
      FOR EACH FELTNAVN IN RS.FIELDS
      strrest = j MOD 2
      If strRest = 0 Then
          IF FELTNAVN.NAME = \"adr_email\" THEN
               
              Response.Write \"<TD bgcolor=\'#FF33CC\'>\"
              Response.Write \"<a href=\'mailto:\" &FELTNAVN.VALUE &\"\'>\" &FELTNAVN.VALUE &\"</a>\"
           
                Response.Write \"</TD>\"
         
          else
              Response.Write \"<TD bgcolor=\'#FF33CC\'>\"
                Response.Write FELTNAVN.VALUE
                Response.Write \"</TD>\"
         
          end if
     
      else
          IF FELTNAVN.NAME = \"adr_email\" THEN
               
              Response.Write \"<TD bgcolor=\'#00FF66\'>\"
              Response.Write \"<a href=\'mailto:\" &FELTNAVN.VALUE &\"\'>\" &FELTNAVN.VALUE &\"</a>\"
                Response.Write \"</TD>\"
          else
         
              Response.Write \"<TD bgcolor=\'#00FF66\'>\"
                Response.Write FELTNAVN.VALUE
                Response.Write \"</TD>\"
          end if
      End If   
   
    NEXT
    Response.Write \"</TR></TR>\"     
    RS.MoveNext
    j = J + 1
Loop       
   






%>

</TABLE>
<CENTER>
</body>
</html>


Men nu er jeg i tvivl om jeg er \"gået videre\"
i \"spørgsmål/svar\" systemet


Avatar billede tdaugaard Nybegynder
05. maj 2001 - 13:49 #1
SET objConn = Server.CreateObject(\"ADODB.Connection\")
objConn.Open  \"DRIVER={Microsoft Access Driver(*.mdb)};DBQ=C:\\Inetpub\\wwwroot\\database\\database1.mdb)\"

Der skal være mellemrum imellem \"r\" og \"(\" i drivernavnet

\"{Microsoft Access Driver (*.mdb)}\"

sådan!
Avatar billede boedker Nybegynder
05. maj 2001 - 13:59 #2
Jeg får stadig følgende fejlmeddelse:

Provider fejl \'80004005\'

Uspecificeret fejl

Avatar billede perla Nybegynder
05. maj 2001 - 14:17 #3
Du opretter også RS elementet 2 gange.

Endnu en gang... (Kan ikke forstå at du siger dette script virker på skolen) Det er i vertilfælde ikke fejlfrit :-)

if session(\"id\") = \"\" then
  strSQL =\"Select * from adresse order by adr_efternavn \"
else
 
  strSQL =\"Select * from adresse order by \" & session(\"id\")
end if

Bør vel være

strSQL =\"Select * from adresse order by id\" eller
strSQL =\"Select * from adresse where id=\" & session(\"id\")


-Per
Avatar billede boedker Nybegynder
05. maj 2001 - 17:43 #4
Hej per!

Nu får du en \"ren\" kode som heller ikke virker



<html>
<head>
    <title>Adresse kartotek    </title>
</head>

<body>
<%

\'Oprettelse af forbindelse:

set objconn = Server.CreateObject(\"ADODB.Connection\")
objconn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"database1.mdb\")


\'Oprettelse af recordset:

SET RS = Server.CreateObject(\"ADODB.recordset\")

strSQL =\"Select * from adresse order by adr_efternavn \"

RS.Open strSQL,objConn


\'**************************************************************************************************************
\'* Jeg  skrive lige indholdet af objConn
\'*
\'**************************************************************************************************************
Response.Write objConn
\'**************************************************************************************************************

%>
<CENTER>
<BR>
<br><br><br>
<%= strSQL%>
<br><br><br><br><TABLE>
<TR>

<%

  FOR EACH FELTNAVN IN RS.FIELDS
      Response.Write \"<TH>\"
      Response.Write \"<a href=\'test.asp?id=\"&FELTNAVN.NAME&\"\'>\" &FELTNAVN.NAME &\"</a>\"
      Response.Write \"</TH>\"
     
    NEXT

Response.Write \"</TR></TR>\"     
Dim j
j = 1 
DO UNTIL RS.EOF
      Response.Write \"hej\"
      FOR EACH FELTNAVN IN RS.FIELDS
      strrest = j MOD 2
      If strRest = 0 Then
          IF FELTNAVN.NAME = \"adr_email\" THEN
               
              Response.Write \"<TD bgcolor=\'#FF33CC\'>\"
              Response.Write \"<a href=\'mailto:\" &FELTNAVN.VALUE &\"\'>\" &FELTNAVN.VALUE &\"</a>\"
           
                Response.Write \"</TD>\"
         
          else
              Response.Write \"<TD bgcolor=\'#FF33CC\'>\"
                Response.Write FELTNAVN.VALUE
                Response.Write \"</TD>\"
         
          end if
     
      else
          IF FELTNAVN.NAME = \"adr_email\" THEN
               
              Response.Write \"<TD bgcolor=\'#00FF66\'>\"
              Response.Write \"<a href=\'mailto:\" &FELTNAVN.VALUE &\"\'>\" &FELTNAVN.VALUE &\"</a>\"
                Response.Write \"</TD>\"
          else
         
              Response.Write \"<TD bgcolor=\'#00FF66\'>\"
                Response.Write FELTNAVN.VALUE
                Response.Write \"</TD>\"
          end if
      End If   
   
    NEXT
    Response.Write \"</TR></TR>\"     
    RS.MoveNext
    j = J + 1
Loop       
   






%>

</TABLE>
<CENTER>
</body>
</html>


Når jeg laver en

Response.Write objConn

får jeg følgende oplysninger:

Provider=MSDASQL.1;Connect Timeout=15;Extended Properties=\"DBQ=C:\\Inetpub\\wwwroot\\database\\database1.mdb;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;\";Locale Identifier=1030


Det kan være at disse oplysninger kan hjælpe??

- Bødker


Avatar billede perla Nybegynder
05. maj 2001 - 17:51 #5
Så et andet svar hvor det var nødvendigt at specificere order by feltnavn ASC.

Prøv

strSQL =\"Select * from adresse order by adr_efternavn ASC\"

Eller kan du maile databasen til mig så skal jeg prøve det samme hos mig. PerLA@mail.tele.dk

-Per

Avatar billede boedker Nybegynder
05. maj 2001 - 18:13 #6
Jeg har mailet en zip-fil til dig
Avatar billede perla Nybegynder
23. maj 2001 - 00:05 #7
Hej Gitte

Du får lige et svar :-)
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