[ASP] Probleem met INCLUDE

Pagina: 1
Acties:

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Ik ben hier nu al heel de namiddag aan't klooien hoe ik in godsnaam

code:
1
2
set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\data"))


in mijn code kan includen ipv het op iedere pagina rechtstreeks te plaatsen. (bespaart me een hele hoop werk bij het kopiëren van testpc naar server)
Ik moet dan immers maar in 1 file het databasepath aanpassen.

Als ik bovenstaande code dus rechtstreeks in het document plaats werkt alles prima.
Durf ik het te includen mbv volgende instructie:

code:
1
<!-- #INCLUDE VIRTUAL="CnnOpen.asp"-->


krijg ik gegarandeerd volgende foutmelding:

ADODB.Recordset error '800a0bb9'

De argumenten zijn van het verkeerde type, vallen buiten het toegestane bereik of zijn in conflict met elkaar.

/fotos.asp, line 69


In mijn file die ik include zit volgende code:

code:
1
2
3
4
<%
set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\data"))
%>


Ik heb al 30 pagina's doorworsteld die ik gevonden had met de search maar nergens iets gevonden wat m'n probleem oplost. Ik begin stilletjesaan gek te worden.

Wat doe ik in godsnaam verkeerd? ? :? :?

Verwijderd

Waarom doe je niet in de include file

Visual Basic .NET:
1
dbcnString="('DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=' & Server.MapPath('db\data'))"


en in iedere asp die je include gebruikt

Visual Basic .NET:
1
2
set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open dbcnString


of zoiets; lijkt me dat je de daadwerkelijke cnn.Open niet in een include moet doen

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Doet ie niet. Geeft een andere foutmelding dan:


Visual Basic:
1
2
3
4
5
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[Microsoft][ODBC-stuurprogrammabeheer] De naam van de 
gegevensbron is niet gevonden en er is geen 
standaardstuurprogramma opgegeven 

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:04

gorgi_19

Kruimeltjes zijn weer op :9

ASP:
1
dbcnString="('DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=' & Server.MapPath('db\data'))"

Is ook een incorrecte syntax.
ASP:
1
dbcnString="(DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\data"))

[ Voor 53% gewijzigd door gorgi_19 op 06-12-2002 16:33 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Weet ik, die had ik reeds aangepast.

Sorry, vergeten te vermelden.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:04

gorgi_19

Kruimeltjes zijn weer op :9

Blacksnak schreef op 06 december 2002 @ 16:50:
Weet ik, die had ik reeds aangepast.

Sorry, vergeten te vermelden.
In dat geval, doe eens een
code:
1
Response.Write Server.MapPath("db\data"))

Is dit het pad naar je database?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Is inderdaad het pad naar de database.

code:
1
Response.Write (Server.MapPath("db\data"))


==> Geeft juiste pad terug

Dat is geen probleem vermoed ik want als ik de hele handel gewoon rechtstreeks in mijn asp-page zet werkt het zonder problemen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:04

gorgi_19

Kruimeltjes zijn weer op :9

Als je pagina niet te groot is, kan je hier anders de code plaatsen?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
De hele pagina is wat veel.

Maar het stukje waar ik de include doe ziet er als volgt uit:

Visual Basic:
1
2
3
4
5
6
7
8
<%
<!-- #INCLUDE VIRTUAL="CnnOpen.asp"-->
'set cnn = Server.CreateObject("ADODB.Connection")
'cnn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/data"))

strJaar = request.QueryString("jaar")
strFotoID = request.querystring("id")
...


De inhoud van de include-page kun je terugvinden in mijn eerste posting van deze topic.

[ Voor 12% gewijzigd door Blacksnak op 06-12-2002 17:01 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:04

gorgi_19

Kruimeltjes zijn weer op :9

Blacksnak schreef op 06 december 2002 @ 17:01:
De hele pagina is wat veel.

Maar het stukje waar ik de include doe ziet er als volgt uit:

Visual Basic:
1
2
3
4
5
6
7
8
<%
<!-- #INCLUDE VIRTUAL="CnnOpen.asp"-->
'set cnn = Server.CreateObject("ADODB.Connection")
'cnn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/data"))

strJaar = request.QueryString("jaar")
strFotoID = request.querystring("id")
...

Ah, gevonden.. :P
code:
1
2
3
4
<!-- #INCLUDE VIRTUAL="CnnOpen.asp"-->
<%
ASP code
%>

dat include gedoe moet buiten de <% %> haken staan.
De inhoud van de include-page kun je terugvinden in mijn eerste posting van deze topic.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Ik zie ook niet dat jij een database aka database.mdb aanroept!!!

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Ah, gevonden..
Ik wou dat het dat was :-) Was ook al in mij opgekomen en daarstraks ff getest maar als ik het buiten <% %> zet krijg ik een interne serverfout (500). Ook al als eerste regel in document gezet maar helpt niks. ;(

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Verwijderd schreef op 06 December 2002 @ 17:07:
Ik zie ook niet dat jij een database aka database.mdb aanroept!!!
Hoe bedoel je Lightforce?

  • CmdrKeen
  • Registratie: Augustus 2000
  • Laatst online: 27-05 21:11

CmdrKeen

Krentenboltosti

Toch moet je Include Virtual BUITEN <% code %> hoor. Server error of niet!

Bloed, zweet & koffie


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:04

gorgi_19

Kruimeltjes zijn weer op :9

Blacksnak schreef op 06 December 2002 @ 17:10:
[...]


Hoe bedoel je Lightforce?
code:
1
Server.MapPath("db/data"))

Moet volgens hem worden:
code:
1
Server.MapPath("db/data.mdb"))
Blacksnak schreef op 06 december 2002 @ 17:09:
Ik wou dat het dat was :-) Was ook al in mij opgekomen en daarstraks ff getest maar als ik het buiten <% %> zet krijg ik een interne serverfout (500). Ook al als eerste regel in document gezet maar helpt niks. ;(
Dan zit er wat anders fout, want hij moet er echt buiten

[ Voor 45% gewijzigd door gorgi_19 op 06-12-2002 17:13 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Heb wijzigingen gedaan zoals voorgesteld en nu doet ie het wel :)

Die .mdb had ik er normaal ook instaan maar daar begon hij daarstraks fouten op te geven (dacht ik) en toen ik die eruit had gegooid ging alles weer goed. Daarom ontbrak die dus ... :)
Maar was dus blijkbaar een fout op iets anders.

In ieder geval hartelijk dank !!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:04

gorgi_19

Kruimeltjes zijn weer op :9

Zou je voor de search nog het juiste stukje code kunnen plaatsen? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Geen probleem

Inhoud van de include-file (CnnOpen.asp):

Visual Basic:
1
2
3
4
<%
set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/data.mdb"))
%>


En deze file gewoon ergens in het document includen met deze instructie:

Visual Basic:
1
<!-- #INCLUDE FILE="CnnOpen.asp"-->


Er vooral voor zorgen dat dit BUITEN <% en %> gedaan wordt ;-)
Pagina: 1