Avatar billede Slettet bruger
18. august 2003 - 16:00 Der er 23 kommentarer og
2 løsninger

ODBC database fejlmelding

Hej.
Jeg har lavet en ASP-script men der er åbenbart et eller andet galt med min ODBC opsætning. Den kommer med følgende fejlmelding:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
Den angivne driver kunne ikke indlæses på grund af systemfejlen 5 (Driver do Microsoft Access (*.mdb)).

Jeg har oprettet databasen under System-DNS og den står med navn bagefter, så det burde jo virke.

Nogen der har nogle gode ideer?

Koden burde virke da det er efter en bog da jeg er i gang med noget kursus. Der står bare ikke noget om dette lille ODBC problem. :-(
Avatar billede Cars10 Praktikant
18. august 2003 - 16:07 #1
Hjælper det hvis du vælger Microsoft Access Driver istedet?
Avatar billede Slettet bruger
18. august 2003 - 16:10 #2
Den er sat til Microsoft Access Driver i ODBC
Avatar billede hossein Nybegynder
18. august 2003 - 18:05 #3
det er nemmer at du ligger din kode her, så kan man se bedre detaljerne!
Avatar billede Slettet bruger
18. august 2003 - 21:41 #4
Selvfølgelig, her kommer den.. :-)

<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Expires = 0
Dim objConn, objRS, strQuery
Dim strConnection
Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "DSN=Northwind;Database=Northwind;"
strConnection = strConnection  & "UID=sa;PWD=;"
objConn.Open strConnection
strQuery = "SELECT Productname, UnitPrice FROM Products "
strQuery = strQuery & "ORDER BY Productname"
Set objRS = objConn.Execute(strQuery)
%>
<HTML>
<BODY>
All products stored in the Products table,
ordered by product name: <BR><BR>
<%
While Not objRS.EOF
    Response.Write objRS("Productname") & " ("
    Response.Write FormatCurrency(objRS("UnitPrice")) & ")<BR>"
    objRS.MoveNext
Wend

objRS.close
objConn.close
Set objRS = Nothing
set objConn = Nothing
%>
</BODY>
</HTML>
Avatar billede hossein Nybegynder
18. august 2003 - 23:53 #5
jeg laver en system dsn og vælger: microsoft Access driver (*.mdb) og kalder min data source name (DSN) til min dsn, og vælger min DB. Også på min asp side kalder jeg den på den måde:
<%
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")

sql = "delete FROM fff where id =  2"

cn.Open "mindsn"
rs.Open sql, cn
%>
Avatar billede hossein Nybegynder
19. august 2003 - 00:13 #6
jeg prøvede din egen kode det virker fint, også på følgende måde virkede fint:
...
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "northwind"
strQuery = "SELECT Productname, UnitPrice FROM Products "
...

Prøv at lave en anden system dsn, måske fejlen ligger der!
Avatar billede Slettet bruger
19. august 2003 - 09:52 #7
Det er sgu mystisk.
Jeg prøver lige at skære ud i pap hvad jeg gør, så kan det være i kan
se hvad jeg gør af fejl, for det ligger jo åbenbart i ODBC'en.

Først åbner jeg datakilder, går ind under System-DSN, tilføjer Microsoft Access database, skriver i datakildenavnet navnet på min database (Filnavnet) "Nwind", under database vælger jeg databasen og sidst trykker jeg OK og går ud. Er det nok og gør jeg det rigtigt???
Avatar billede hossein Nybegynder
19. august 2003 - 10:33 #8
Det du gør er korrekt.
Men den fejl besked du får, er fra en anden driver: driver do ...
Avatar billede Cars10 Praktikant
19. august 2003 - 11:20 #9
Har du både:
Driver do Microsoft Access (*.mdb)
Microsoft Access Driver (*.mdb)
?
Avatar billede Cars10 Praktikant
19. august 2003 - 11:21 #10
og du vælger Microsoft Access Driver og så skriver den fejl ved dem anden? mystisk
Avatar billede Cars10 Praktikant
19. august 2003 - 11:24 #11
prøv at vælge: Driver do Microsoft Access (*.mdb) eller en helt 3. der kan åbne *.mdb istedet og se om det hjælper
Avatar billede Slettet bruger
19. august 2003 - 12:38 #12
Jeg havde brugt "Driver do Microsoft Access" indtil nu, men prøvede også den anden "Microsoft Access Driver" men den giver stadig det samme svar.
Er nogle af de andre der skal sættes op (Bruger-DSN) osv.. ???
Skal jeg skrive hele filnavnet under Datakildenavn eller er selve navnet uden .mdb nok? Fejlen må jo ligge et sted.....
Avatar billede Slettet bruger
19. august 2003 - 12:39 #13
Hvad med det der hedder systemdatabase nederst, skal det bruges til noget?
Der står ingen lige nu hos mig.
Avatar billede Slettet bruger
19. august 2003 - 12:41 #14
Jeg har nu kun valgt "Microsoft Access Driver" og den kommer med
følgende fejl:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver.
/testdata.asp, line 10

Min kode er følgende:

<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Expires = 0
Dim objConn, objRS, strQuery
Dim strConnection


Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "northwind"
strQuery = "SELECT Productname, UnitPrice FROM Products "



strQuery = strQuery & "ORDER BY Productname"
Set objRS = objConn.Execute(strQuery)
%>
<HTML>
<BODY>
All products stored in the Products table,
ordered by product name: <BR><BR>
<%
While Not objRS.EOF
    Response.Write objRS("Productname") & " ("
    Response.Write FormatCurrency(objRS("UnitPrice")) & ")<BR>"
    objRS.MoveNext
Wend

objRS.close
objConn.close
Set objRS = Nothing
set objConn = Nothing
%>
</BODY>
</HTML>
Avatar billede Cars10 Praktikant
19. august 2003 - 13:35 #15
Du kan sagtens bruge kun System-DNS. Du skal kun angive datakildenavn og vælg hvor databasen ligge. I datakildenavn skal du bare sørge for at navnet er det samme som den du åbner i ASP filen (altså "northwind" i dit tilfælde uden filendelse. Behøver ikke hedde det samme som filen)
Avatar billede Cars10 Praktikant
19. august 2003 - 13:44 #16
Dit datakildenavn er derfor forkert som du jo har skrevet at du angav som "Nwind" tidligere. Det skal være "northwind" istedet.
Avatar billede Slettet bruger
19. august 2003 - 14:23 #17
Yeps, du har ret. Navnet var forkert. :-)
Men det hjælper stadig ikke, den kommer stadig med
en fejl. Har prøvet at kører udenom ODBC men en direkte
sti til databasen i ASP filen men den skriver stadig
denne fejlmeddelse:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
Den angivne driver kunne ikke indlæses på grund af systemfejlen 5 (Microsoft Access Driver (*.mdb)).
/soeg.asp, line 11

TOTAL WIERD!
Avatar billede hossein Nybegynder
19. august 2003 - 14:36 #18
Prøv med dsn-less, bare for at se hvad der sker. det kan være at dine driver er ikke "up to date" eller beskadiget
Avatar billede Slettet bruger
19. august 2003 - 15:24 #19
dsn-less? Hvad er det og hvor finder jeg det?
Avatar billede Cars10 Praktikant
19. august 2003 - 15:39 #20
Det gør du sådan her:
' Opretter forbindelse til database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/minsti/Nwind.mdb")
Conn.Open DSN
Avatar billede Slettet bruger
19. august 2003 - 16:01 #21
Den skriver sgu det samme..
DET ER DA BELASTENDE.... Kan de være mine drivere der er ged i eller hvad?
Avatar billede Cars10 Praktikant
19. august 2003 - 16:14 #22
Ok jeg ved simpelhen ikke hvad der er galt. Så jeg kan ikke hjælpe dig videre, måske en anden kan eller hvis du finder ud af hvad systemfejlen 5 betyder. Måske er der noget der skal geninstalleres. Jeg er ked af at jeg ikke kan hjælpe dig videre.
Avatar billede Slettet bruger
19. august 2003 - 16:41 #23
Okay, men du har jo prøvet at hjælpe og mere kan jeg jo
ikke forlange. :-) Så mange tak....
Avatar billede hossein Nybegynder
19. august 2003 - 18:38 #24
prøv det:

Q: I am having a problem with some ASP code that is connecting to Access using ADO -- the code is returning an error 80004005.

A: The latest MDAC drivers (anything in the past six months), and especially the Access ODBC driver, have a "feature" that REQUIRES a SYSTEM temp variable be establised. This is done from right clicking My Computer, choosing Properties, Environment, and adding the system variables of TMP C:\TEMP and TEMP C:\TEMP.
Avatar billede Slettet bruger
20. august 2003 - 10:14 #25
Øv, jeg håbede lige du havde fundet løsningen - men den giver desværre
stadig den samme fejlmeddelsen efter jeg har ændret system variablerne. :-(
Ellers et ret godt forslag.!
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