[ASP]moeilijkheden met het openen van een database

Pagina: 1
Acties:

  • The Dutch Dude
  • Registratie: Juli 2002
  • Laatst online: 10-08 12:57
Ik heb wat probleempjes mbt een database in ASP.
hieronder de code (tot waar de code een fout geeft):
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<HTML>

  
  <HEAD>
    <LINK REL="stylesheet" TYPE="text/css" HREF="Style.css">
    <TITLE>Baantjes Result</TITLE>
  </HEAD>

  <BODY>

  <%  
      <!--#include virtual ="/dblocation.inc"-->

      Dim dbcon
      Dim recset
      Dim SQLString
      Dim paglengte
      Dim huidiglengte

      huidiglengte = 0
      paglengte = 25
      Set dbcon = Server.CreateObject("adodb.connection")
      Set recset = Server.CreateObject("adodb.recordset")

      SQLString = "SELECT uren, vereisten, uurloon, functie, plaats, Baan.studentnr, _
email_adres, voornaam, achternaam FROM Baan, Student WHERE _
baannr = '" & request("baannr") & "' AND Student.Studentnr _
= Baan.Studentnr;"

      Call dbCon.Open("DRIVER={microsoft access driver (*.mdb)};" & "DBQ=" & DBLocation)


en de code van de include:
ASP:
1
2
3
Dim DBLocation

DBLocation = Server.MapPath("db\site.mdb")


ik heb net 2,5 uur op internet zitten te spitten en aan vrienden dingen gevraagd, maar met geen succes.. :( heeft iemand enig id waarom dit fout gaat?? :?
de volledige sourcecode staat hiero: [url]http:\\g14.p1.ica.han.nl\test.zip[/url]

[ Voor 59% gewijzigd door The Dutch Dude op 27-11-2002 20:51 ]

Overmatig computergebruik heeft mijn fantasie gedood, dus ben ik niet in staat een interessante tekst hierneer te zetten.


  • whoami
  • Registratie: December 2000
  • Nu online
Moest je nu nog eens zeggen WAT er fout gaat, dan kunnen we je misschien meer helpen. (Errorcode, errormessage, lijn waarop de fout ontstaat, ...)

Zie ook: Welkom in P&W -> Quickstart (update 2/10/2002)

[ Voor 20% gewijzigd door whoami op 27-11-2002 20:47 ]

https://fgheysels.github.io/


  • The Dutch Dude
  • Registratie: Juli 2002
  • Laatst online: 10-08 12:57
ok, de foutmelding is:

Microsoft OLE DB Provider for ODBC Drivers error '80040e4e'
Operation was canceled.

/baantjes_result.asp, line 30
de fout ontstaat dus op:
ASP:
1
Call dbCon.Open("DRIVER={microsoft access driver (*.mdb)};" & "DBQ=" & DBLocation)

[ Voor 17% gewijzigd door The Dutch Dude op 27-11-2002 20:52 ]

Overmatig computergebruik heeft mijn fantasie gedood, dus ben ik niet in staat een interessante tekst hierneer te zetten.


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Dim DBLocation

DBLocation = Server.MapPath("db\site.mdb")
Moet dit niet zijn:
code:
1
2
3
Dim DBLocation

DBLocation = Server.MapPath("\db\site.mdb")

Dus met een extra "\"

  • The Dutch Dude
  • Registratie: Juli 2002
  • Laatst online: 10-08 12:57
dat heeft geen effect..

oh, als ik dblocation uit probeer te lezen met gewoon response.write(dblocation) gebeurt er ook niets...

[ Voor 71% gewijzigd door The Dutch Dude op 27-11-2002 20:55 ]

Overmatig computergebruik heeft mijn fantasie gedood, dus ben ik niet in staat een interessante tekst hierneer te zetten.


  • whoami
  • Registratie: December 2000
  • Nu online
Doe eens een Response.Write van je connectionstring, en bestudeer die eens.

https://fgheysels.github.io/


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Probeer de volgende code eens:


Dim cnDB

Set cnDB = Server.CreateObject("ADODB.Connection")
cnDB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\databasenaam.mdb"
cnDB.open

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:58

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op 27 november 2002 @ 21:11:
Doe eens een Response.Write van je connectionstring, en bestudeer die eens.
Als ik de code bekijk, vraag ik me uberhaupt af of hij ooit wel bij die connectionstring komt. :+
Net de code bekeken en er staan een aantal vreemde zaken in.
1. Naar mijn weten is dit niet de correcte syntax van een include (deze hoort niet tussen script tags te staan)
code:
1
2
  <%  
      <!--#include virtual ="/dblocation.inc"-->

2. Je include een bestand. Deze (lees: de inhoud van het bestand, niet de verwijzing) moet dus wel tussen script tags staan, als hier code in staat.
3. Waarom gebruik je de extensie .inc? Eenvoudig te downloaden > security risk
4.
code:
1
2
3
While (recset.EOF = FALSE) and (huidiglengte =< paglengte)
....
Wend

Ik gok dat je per definitie 25 records krijgt (paglengte). Nooit meer, nooit minder, en allemaal dezelfde (waar staat immers dat je naar de volgende RECORD moet gaan?
5.
code:
1
baannr = '" & request("baannr") & "'

Een stukje uit je query.. Moet je me toch eens uitleggen... Baannr staat denk ik voor baannummer.. Waarom is deze dan van het type text en niet van het type numeriek? (je gebruikt immers single quotes?
6. Zie weer de code van 5.. Waarom gebruik je request? Ik neem aan dat je weet welke property van request je gebruikt, dus request.querystring of request.form
7.
code:
1
DRIVER={microsoft access driver (*.mdb)};" & "DBQ=" & DBLocation

In je query zie ik uren, namen, looneisen, etc. staan.. Geen idee om een databasewachtwoordje er op te zetten?
8. Nog een laatste tip, aansluitend bij whoami: debuggen.. :P
In ASP.Net heb je het tracing-object, in gewoon ASP nog niet.. Tijdens het ontwikkelen zul je dus regelmatig een Response.Write eruit moeten gooien (i.c.m. REsponse.Buffer = true en Response.Flush). Dit om te kijken hoe je strings gevuld zijn, wat de variabelen zijn, etc. LAter kan je deze dan uit zetten....

[ Voor 44% gewijzigd door gorgi_19 op 27-11-2002 22:38 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

code:
1
<!--#include virtual ="/dblocation.inc"-->

mag niet binnen script tags staan (<%), check of het pad naar de database wel klopt. Druk het pad anders ff op beeld af.
Voor de rest....zie gorgi_19 ;)

  • The Dutch Dude
  • Registratie: Juli 2002
  • Laatst online: 10-08 12:57
gorgi_19 schreef op 27 November 2002 @ 22:28:
[...]
1. Naar mijn weten is dit niet de correcte syntax van een include (deze hoort niet tussen script tags te staan)
[...]
2. Je include een bestand. Deze (lees: de inhoud van het bestand, niet de verwijzing) moet dus wel tussen script tags staan, als hier code in staat.
Ik ben nieuw op ASP gebied. Op school worden includes (nog) niet behandeld, dus ik heb het een beetje bij elkaar lopen te puzzelen van internet.
3. Waarom gebruik je de extensie .inc? Eenvoudig te downloaden > security risk
4.
[...]
Ik gok dat je per definitie 25 records krijgt (paglengte). Nooit meer, nooit minder, en allemaal dezelfde (waar staat immers dat je naar de volgende RECORD moet gaan?
die include wou ik in de /secure/ dir zetten, net als de database.
Oeps, je hebt gelijk... Ik had daar nog niet naar gekeken, eerst maar eens zorgen dat het werkt d8 ik..
5.
[...]
Een stukje uit je query.. Moet je me toch eens uitleggen... Baannr staat denk ik voor baannummer.. Waarom is deze dan van het type text en niet van het type numeriek? (je gebruikt immers single quotes?
6. Zie weer de code van 5.. Waarom gebruik je request? Ik neem aan dat je weet welke property van request je gebruikt, dus request.querystring of request.form
baannummer is wel tekst. Dat heeft te maken met de database, is een lang verhaal. ok, goed id om die request idd ff aan te passen.

Overmatig computergebruik heeft mijn fantasie gedood, dus ben ik niet in staat een interessante tekst hierneer te zetten.


Verwijderd

dblocation.inc :
code:
1
2
3
4
5
<%
Dim DBLocation

DBLocation = Server.MapPath("\db\site.mdb")
%>

Je vergeet de script tags in je include. Het is trouwens slim om de include te veranderen in dblocation.asp . Dat is namelijk veiliger. Verander dan ook in je asp pagina dblocation.inc in dblocation.asp
Pagina: 1