Avatar billede jr40 Nybegynder
12. august 2005 - 17:10 Der er 10 kommentarer og
1 løsning

Hjælp til omskriving af db connection

Jeg skriver her fordi jeg ikke selv kan finde ud af det samt håber af der er en hjælpende sjæl her inde.

Jeg har et par sidder som skal rettes til i db connection, men lad os tage den første.

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=C:/Inetpub/wwwroot/andre/website/dberd/djbulldog_newser.mdb"
Conn.Open DSN

strSQL = "Select * from news"

set rscount = conn.execute("select count(id) as antal from news")
antal = rscount("antal")
set rscount = nothing
%>



Istedet for c:\ stien, så skal det laves om så det bliver:
Server.MapPath("../../../db/djbulldog_newser.mdb"



Nogle der kan hjælpe.?
Avatar billede busschou Praktikant
12. august 2005 - 17:15 #1
DSN = DSN & "DBQ="&server.mappath("/dberd/djbulldog_newser.mdb")
burde vel gøre det ?
Avatar billede jr40 Nybegynder
12. august 2005 - 17:18 #2
Du mener sådan her.?
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ="&server.mappath("../../../dberd/djbulldog_newser.mdb")
Conn.Open DSN

strSQL = "Select * from news"

set rscount = conn.execute("select count(id) as antal from news")
antal = rscount("antal")
set rscount = nothing
%>


Der for jeg fejl i linjen.
Avatar billede busschou Praktikant
12. august 2005 - 17:19 #3
nej jeg mener som jeg skrev ;o)
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ="&server.mappath("/dberd/djbulldog_newser.mdb")
Conn.Open DSN

strSQL = "Select * from news"

set rscount = conn.execute("select count(id) as antal from news")
antal = rscount("antal")
set rscount = nothing
%>
Avatar billede busschou Praktikant
12. august 2005 - 17:20 #4
du kan se nogle eksempler her på hvordan server.mappath reagerer
http://www.w3schools.com/asp/met_mappath.asp
Avatar billede jr40 Nybegynder
12. august 2005 - 17:21 #5
Okey sådan...

Længere nede på siden har jeg denne her.
                  <%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:/Inetpub/wwwroot/andre/website/dberd/djbulldog_newser.mdb" & ";UID=admin;PWD=;"

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From news"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>

Hvad så med den.?
Avatar billede busschou Praktikant
12. august 2005 - 17:25 #6
det er det samme, tag et kig på linket :o)
Ideen med server.mappath er jo netop at den "mapper" stien for dig :o)
---
nede på siden har jeg denne her.
                  <%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath("/dberd/djbulldog_newser.mdb") & ";UID=admin;PWD=;"

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From news"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
%>
Avatar billede jr40 Nybegynder
12. august 2005 - 17:27 #7
Okey nu er jeg med...

Så er server mappath da fandme smart... :)
Avatar billede busschou Praktikant
12. august 2005 - 17:29 #8
ja netop, pointen er jo at man netop slipper for at lave virtuelle stier
som du kan se i linket, så afhængig af om du udelader den første / så vil du få en sti fra roden af domænet eller en sti fra den aktuelle side

Tak for point :o)
Avatar billede jr40 Nybegynder
12. august 2005 - 17:38 #9
Hmm jeg var vist ikke helt færdig, for efter jeg har rettet db stien til, så for jeg denne her fejl når jeg klikker på ret nyhed i mit nyheds sys:

toppen ser sådan her ud:
<script language="VBScript" runat="Server">
Function unQuote(strTekst)
    strTekst = Trim(strTekst)
    unQuote = Replace(strTekst,"'","''")
End Function
</script>

<%Dim ID,opslag

id=Request.QueryString("ID")

Set Connection = Server.CreateObject("ADODB.Connection")
strconnect = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/dberd/djbulldog_newser.mdb")

if request.querystring("knap")<>"Gem ændringer" then

    SQLstringK="SELECT * FROM news WHERE id="&id
    SET opslag=Connection.Execute(SQLstringK)
else
   
    SQLstringK="UPDATE news SET title='"&Request.QueryString("name")&"', news='"&Request.QueryString("kommetare")&"' WHERE id="&id
    Connection.Execute(SQLstringK)
    response.buffer=true
    response.clear
    response.redirect "oversigt.asp"
    response.end

end if
    %>

samt for denne her fejl:
ADODB.Connection error '800a0e78'

Operation is not allowed when the object is closed.

/admin/nyheder/ret.asp, line 18


linje.18:
    SET opslag=Connection.Execute(SQLstringK)



Skal jeg evt. oprette et nyt spam til dette.?
Avatar billede busschou Praktikant
12. august 2005 - 17:41 #10
du skal ikke oprette spam nej ;o)
Det er en helt anden fejl som skyldes du ikke har åbnet din forbindelse
Du skal først have en
Connection.Open strconnect
Avatar billede jr40 Nybegynder
12. august 2005 - 17:50 #11
Tak for hintet busschou, og endelig fandt jeg løsningen.
Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&server.mappath("/dberd/djbulldog_newser.mdb")

den linje hjalp.. :)

hehe
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