Toon posts:

[ASP] OLE DB problemen na verhuising, hulp nodig

Pagina: 1
Acties:

Verwijderd

Topicstarter
Op school gebruiken we voor een project een website met ASP welke door onze voorgangers is gebouwd. De website moest vandaag verplaatst worden naar een nieuwe webserver en het resultaat is ietswat chaotisch.

We hebben in onze projectgroep nauwelijks kennis van ASP + Access DB, onze kennis ligt voor namelijk bij PHP en MySQL. Helaas bleek dat we wel wat meer moeten doen dan de files op de server plaatsen.

Momenteel krijgen we de foutmeldingen:

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

/phonee_old/intranet/includes/database.asp, line 11


Kunnen jullie mij s.v.p. aan de hand van deze foutmelding + onderstaande code helpen om dit probleem op te lossen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%
Dim objConn

Function openConn()

    set objConn = server.CreateObject("ADODB.Connection")
    'objConn.open "Provider=Microsoft.Jet.OLEDB.4.0; " &_
    '             "Data Source=" & Server.MapPath("database") & "\intranet.mdb;" &_
    '             "User Id=admin;Password=;"
        
        objConn.open    "DSN=intranet"
End function

Function closeConn()

    objConn.close
    
End Function
%>


----------------- aanvullende gegevens ---------

De site stond op de vorige webserver in de root van IIS, deze staat nu echter in de map "old". Geen idee of dit er wat mee te maken heeft maar dit is in ieder geval anders dan bij de vorige server.

[ Voor 21% gewijzigd door Verwijderd op 03-11-2004 20:07 ]


  • pjotrk
  • Registratie: Mei 2004
  • Laatst online: 15-07-2025
je zou het path naar de database zo kunnen noteren (ervanuitgaande dan de database zich direct onder de directory old bevind):
code:
1
2
3
Server.MapPath("/old/intranet.mdb")
'ipv
Server.MapPath("database") & "\intranet.mdb

of met een relatief pad kunnen werken met iets als:
code:
1
Server.MapPath("../../intranet.mdb")


misschien dat dat helpt

Verwijderd

Topicstarter
pjotrk schreef op 03 november 2004 @ 20:27:
je zou het path naar de database zo kunnen noteren (ervanuitgaande dan de database zich direct onder de directory old bevind):
code:
1
2
3
Server.MapPath("/old/intranet.mdb")
'ipv
Server.MapPath("database") & "\intranet.mdb

of met een relatief pad kunnen werken met iets als:
code:
1
Server.MapPath("../../intranet.mdb")


misschien dat dat helpt
Het path naar het bestand klopt wel. Wat kan het dan zijn?

Moet ik misschien Access hebben geinstalleerd? Heeft ASP die installatie nodig om zelf via ODBC de .mdb file te lezen?

En werkt dat ODBC ook direct na installatie van IIS of moet ik ergens nog wat instellen?

[ Voor 4% gewijzigd door Verwijderd op 03-11-2004 21:27 ]


  • bramseltje
  • Registratie: September 2001
  • Laatst online: 08-04 12:01
Kan het zijn de je met een (te) oude versie van de Microsoft Data Access Components ( klik )zit?

Normaal gesproken zou 't op een standaard installatie met IIS gewoon moeten werken, de ODBC drivers worden met Windows meegeleverd dacht ik.

De foutmelding gaat overigens over regel 11 waarop er over een DSN gesproken wordt. Nu ben ik niet zo thuis in DSN maar volgens mij is dat een systeem alias voor de database waar het pad en de bestandsnaam in verpakt zitten. De regels erboven zijn uitgecomment ( ' ) dus daar zit de fout niet...

Als je weet waar de database staat kun je die regels uncommenten en gebruiken en die DSN= regel weghalen.

//edit
de connectie string wordt dan iets van:
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
<%
Dim objConn

Function openConn()

    set objConn = server.CreateObject("ADODB.Connection")

    objConn.open "Provider=Microsoft.Jet.OLEDB.4.0; " &_
                 "Data Source=" & Server.MapPath("/pad/bestandsnaam.ext;"
    
    'Alleen als de database geen standaard Access database is
    ' zal ie een andere username en password hebben
    'Dus kun je User= en pass= weglaten, zeker als pass toch leeg is...

    'objConn.open    "DSN=intranet"

End function

Function closeConn()

    objConn.close
    
End Function
%>

[ Voor 30% gewijzigd door bramseltje op 03-11-2004 21:48 ]


Verwijderd

Topicstarter
Bramseltje schreef op 03 november 2004 @ 21:39:
Kan het zijn de je met een (te) oude versie van de Microsoft Data Access Components ( klik )zit?

Normaal gesproken zou 't op een standaard installatie met IIS gewoon moeten werken, de ODBC drivers worden met Windows meegeleverd dacht ik.

De foutmelding gaat overigens over regel 11 waarop er over een DSN gesproken wordt. Nu ben ik niet zo thuis in DSN maar volgens mij is dat een systeem alias voor de database waar het pad en de bestandsnaam in verpakt zitten. De regels erboven zijn uitgecomment ( ' ) dus daar zit de fout niet...

Als je weet waar de database staat kun je die regels uncommenten en gebruiken en die DSN= regel weghalen.
ok, txs, dat lijkt inderdaad te helpen. _/-\o_
Ik ben nu weer een stukje verder! :)

  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 22:34

BlackBurn

One Ring To Rule Them All

Was het niet makkelijker geweest (mits je een DSN koppeling mag aanmaken op de server) om een DSN koppeling te maken ? Dan was dat het enige geweest wat je had moeten doen ;)

If it is broken, fix it. If it ain't broken, make it better!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:40

gorgi_19

Kruimeltjes zijn weer op :9

BlackBurn schreef op 04 november 2004 @ 11:37:
Was het niet makkelijker geweest (mits je een DSN koppeling mag aanmaken op de server) om een DSN koppeling te maken ? Dan was dat het enige geweest wat je had moeten doen ;)
Anders heb je 1 connectionstring welke je moet aanpassen. Deze stop je in een configuratiebestand en include je waar nodig :) Heb je hetzelfde effect, zonder problemen met DSN aanmaken e.d. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1