Avatar billede henrik_veb Nybegynder
02. april 2010 - 14:24 Der er 7 kommentarer og
1 løsning

db connect / include fejl

Jeg har en hovedside (default.asp) hvor jeg inkluderer adovbs.inc og en database connect fil:

<!--#include file="adm/adovbs.inc"-->
<!--#include file="adm/dbopen.asp"-->

Database connect filen indeholder:

<%
Dim conn
set conn = server.createobject("ADODB.Connection")
conn.Open "PROVIDER=Microsoft.ACE.OLEDB.12.0; DATA SOURCE=c:\inetpub\wwwroot\database.accdb"
%>

I default.asp inkluderes også en "underside" som skal bruge databasen, men der får jeg følgende fejl:

ADODB.Recordset (0x800A0BB9)
Argumenterne har en forkert type eller er uden for det angivne område, eller der er opstået en konflikt mellem dem.

Fejlen er i linje 57 (i undersiden) som indeholder:

aa.Open "select * from tabel WHERE (lukket = True) AND (remote_host = '" & remote_host & "')", conn, adOpenKeyset, adLockOptimistic

Linje 56 er:

set aa = Server.CreateObject("ADODB.Recordset")

Hvis jeg lader være med at bruge en database connect fil, og connecter til databasen direkte fra undersiden er der ingen problemer, så jeg er lidt i vildrede - håber nogen kan se hvor det går galt?
Avatar billede claes57 Ekspert
02. april 2010 - 16:39 #1
prøv at sætte en / foran i
!--#include file="adm/adovbs.inc"-->
så den bliver til
!--#include file="/adm/adovbs.inc"-->

og tilsvarende på den anden - så skulle undersider også kunne finde disse filer.
Avatar billede henrik_veb Nybegynder
02. april 2010 - 18:10 #2
Det virker desværre ikke, der kommer bare en anden fejl:

Active Server Pages, ASP 0130 (0x80004005)
Filattributten '/adm/Adovbs.inc' må ikke begynde med skråstreg eller omvendt skråstreg.
Avatar billede claes57 Ekspert
03. april 2010 - 16:17 #3
prøv så i stedet at åbne db før undersiden, og lukke den efter.
Avatar billede henrik_veb Nybegynder
04. april 2010 - 12:28 #4
Det ændrer desværre ikke noget - samme fejl som det oprindelige.

Jeg har prøvet med med en anden underside hvor jeg bare henter f.eks. et bestemt felt ud, sådan:

<%
        set aa = Server.CreateObject("ADODB.Recordset")
        aa.Open "SELECT indhold FROM forside WHERE felt = ""top""", conn, adOpenKeyset, adLockOptimistic
       
        Response.Write aa("indhold")
%>

Det virker, så jeg tror det er noget med dette:

aa.Open "select * from tabel WHERE (lukket = True) AND (remote_host = '" & remote_host & "')", conn, adOpenKeyset, adLockOptimistic

Jeg kan bare ikke se hvad det er den brokker sig over :s
Avatar billede claes57 Ekspert
05. april 2010 - 15:30 #5
prøv til fejlfinding to versioner
WHERE lukket = True
og
WHERE remote_host = '" & remote_host & "'"
Avatar billede henrik_veb Nybegynder
06. april 2010 - 16:52 #6
Nu har jeg prøvet dit forslag

aa.Open "select * from tabel WHERE (lukket = True)", conn, adOpenKeyset, adLockOptimistic

og

aa.Open "select * from tabel WHERE (remote_host = '" & remote_host & "')", conn, adOpenKeyset, adLockOptimistic

Uden ændringer desværre.

Men jeg har et måske dumt spørgsmål, kan det have noget at gøre med at jeg er gået fra Access 97 (mdb fil) til Access 2007 (accdb fil)? Er det ikke nok kun at ændre connectionstring så? Det oprindelig script virker nemlig fint men med mdb fil.
Avatar billede claes57 Ekspert
06. april 2010 - 17:05 #7
jeg har ingen idéer...
Avatar billede henrik_veb Nybegynder
16. april 2010 - 20:35 #8
Lukker
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