Avatar billede Pansen Praktikant
05. juli 2012 - 11:59 Der er 10 kommentarer og
1 løsning

Fejl på hjemmeside

Hej eksperten

Jeg har et lille problem jeg ikke kan løse.
Jeg har aldrig arbejdet med det gamle ASP før.

Jeg har fundet herinde at flere har haft lige netop min fejl, men jeg kan ikke få det løst.

Det drejer sig om denne fejlmeddelse som i ser her:
asp.tilstedweb.dk
Avatar billede larsen45 Juniormester
05. juli 2012 - 12:37 #1
Hejsa Tha_old

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/inc_initialize.asp, line 16

Som fejlen antyder, har du problemer i linie 16 på asp siden.
Den fortæller dig, at den ikke kan finde "felt navnet" fra din database af, og at du skal rette dette.

Udover det skal du tjekke, at dit "tabel navn" du har skrevet i din asp kode passer overens med database navnet.
Og at din forbindelse til databasen, er sat korrekt op i filen inc_initialize.asp.

Har du flere forskellige undermapper, skal du også huske at rette stien, medmindre du har lagt alle filer i samme Root mappe på serveren.
Avatar billede larsen45 Juniormester
05. juli 2012 - 12:44 #2
Eksempel med sti til din database:

myConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/Din undermappe/Endnu en undermappe/Din databasefil.mdb")
Avatar billede Pansen Praktikant
05. juli 2012 - 13:07 #3
Okay tjekker lige op på det.

Linje 16 siger i inc:initialize.asp

"Dbc.Open DbConnectionString", er det forkert ?
Avatar billede larsen45 Juniormester
05. juli 2012 - 13:23 #4
Det er svært at se, da resten af koden mangler.

Men prøv lige dette asp (test udtræk) her, og husk at rette stien til databasen.


<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\sti\til\database.mdb"

Set rs = "Select From Din Tabel Order By dit tabel felt"
While Not rs.EOF
  Response.Write rs("Din felt fra tabellen") & "<br>"
  rs.MoveNext
Wend
%>
Avatar billede Pansen Praktikant
05. juli 2012 - 13:55 #5
fra dsn.asp


<%   
    ' dsn-streng der bruges i CMS defineres her:
    Dim DbConnectionString
    DbConnectionString = "DSN=oldmysql;DATABASE=mdbuser1180258;UID=mdbuser1180258;PWD=7cuu7uiv"
    'DbConnectionString =  "DRIVER={MySQL ODBC 3.51 Driver};"_
    '                    & "SERVER=mysql5-1num5.webhosting.dk;"_
    '                    & " DATABASE=local00236;"_
    '                        & "UID=root;PWD=; OPTION=3"
%>



Fra inc_initialize.asp

<!-- METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" -->
<!--#include file="inc_stdlib.asp"-->
<!--#include file="_setup.asp"-->
<!--#include file="include/dsn.asp"-->
<!--#include file="include/ini.asp"-->
<%
    Response.CacheControl = "no-cache"
    Response.AddHeader "Pragma", "no-cache"   
    Response.Expires = -1

    ' SITE CONSTANTS

    ' PRIMARY DATABASE CONNECTION
    Dim Dbc
    Set Dbc = Server.CreateObject("ADODB.Connection")
    Dbc.Open DbConnectionString

    ' LANGUAGE INITIALIZATION
    Dim langPrefix : langPrefix = "001"
    Dim LanguageID, TekstLanguageID, IsoLanguageID
    If(Request.QueryString("languageId")<>"") Then
        Session("LanguageID") = Request.QueryString("languageId")
    End If
   
    If(Session("LanguageID")<>"") Then
        LanguageID = Session("LanguageID")
    Else
        LanguageID = "1"
        'If(Right(Request.ServerVariables("HTTP_HOST"),2)="dk") Then
        '    LanguageID = "1"
        'Else
        '    LanguageID = "2"
        'End If
    End If
   
    Dim langFrontPageId : langFrontPageId = 0
    Dim rsLang : Set rsLang = Dbc.Execute("SELECT sproglag,isonavn,forsideId FROM sprog WHERE id="&LanguageID)
    If(NOT rsLang.EOF) Then
        IsoLanguageID = rsLang("isonavn").Value
        langFrontPageId = rsLang("forsideId").Value
   
        Set rs = Dbc.Execute("SELECT LEFT(side_id,3) FROM tekst WHERE RIGHT(side_id,11)='000.000.000' AND titel='"&rsLang("sproglag")&"'")
        If(NOT rs.EOF) Then
            langPrefix = rs(0).Value
        Else
            Response.Write("Fejl: sproglaget '"&rsLang("sproglag")&"' blev ikke fundet i 'tekst'")   
        End If
    Else
        Response.Write("Fejl: sproglaget blev ikke fundet i 'sprog'")
    End If
   
    Function GetSystemField(name)
        Dim rs
        Set rs = Dbc.Execute("SELECT tekst FROM tekst WHERE titel LIKE '_System: "&name&"%' AND LEFT(side_id,3)='"+langPrefix+"'")
        If(NOT rs.EOF) Then
            GetSystemField = rs("tekst").Value
        End If       
    End Function
%>
Avatar billede Pansen Praktikant
05. juli 2012 - 14:24 #6
Jeg finder ikke helt det du nævner, i noget af min kode?!
Avatar billede larsen45 Juniormester
05. juli 2012 - 14:39 #7
Der skal testes uden brug af include, prøv og lave en ny asp side, hvor du både har database tilslutningen, og asp koden samlet 1 sted.

Og da du bruger mysql database, så vil jeg lave connection med:

<%

Connection = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=dinhjemmeside.dk; UID=dinhjemmeside.dk;PASSWORD=skrivpasswordher; OPTION=3"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open(Connection)

%>
Avatar billede cpufan Juniormester
05. juli 2012 - 15:21 #8
Du er nød til at ændre dit password til db'en
da du har offentliggjort den her, og så varer det ikke længe før den bliver hacket....
"DSN=oldmysql;DATABASE=mdbuser1180258;UID=mdbuser1180258;PWD=7cuu7uiv"
    'DbConnectionString =  "DRIVER={MySQL ODBC 3.51 Driver};"_
Avatar billede Pansen Praktikant
05. juli 2012 - 15:51 #9
Puha hehe

Det får jeg vist aldrig til at virke det der.

Altså jeg skal:

1. opret en kopi af inc_initialize.asp
2. Læg det ind du har skrevet ovenover her

Skal jeg bare lave en kopi af den fil og slette alt der har med include at gør, og så bare bruge resten af koden stadig ?

Skal jeg ikke erstatte DATABASE=dinhjemmeside.dk med DATABASE=mitdatabasenavn?, eller har jeg misforstået noget?
Avatar billede The Real Yoda Juniormester
06. juli 2012 - 10:47 #10
Din fejl ligger her :

DbConnectionString = "DSN=oldmysql;DATABASE=mdbuser1180258;UID=mdbuser1180258;PWD=7cuu7uiv"

Den henviser til at der er lavet en database connection på serveren, som hedder oldmysql.

som fejlen antyder:  "Data source name not found and no default driver specified"

Data Source Name = DSN ... = oldmysql ... not found = ikk fundet på serveren.

og da du ej heller angiver nogen driver - bliver det til en fejl...
Avatar billede Pansen Praktikant
31. juli 2012 - 09:30 #11
Hej #10

Hvad foreslår du så jeg gør? Hvad skal den hedde i stedet for oldmysql?

Og hvad med driveren hvordan angiver man den?

Jeg har uploadet databasen via phpmyadmin og det burde være ok?!
Jeg er vant til php, men har aldrig arbejdet med ASP før.

Det må jo være en lille ting som mangler siden den kan fange det den kan nu?!
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

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