Avatar billede fastpoint Nybegynder
04. august 2002 - 11:29 Der er 31 kommentarer og
1 løsning

forkert lavet eller rigtigt?

er det ikke sådan her man laver denne del i et script?

            <%
'Skaber forbindelse til databasen
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")


Sql = "SELECT COUNT (Id) AS Total From grin"
Set Rs = Conn.Execute(Sql)
%>


for jeg er begyndt at få denne fejl

Microsoft OLE DB Provider for ODBC Drivers error '8007000e'

[Microsoft][ODBC Microsoft Access Driver] System resource exceeded.

/grin/grin.asp, line 190


og linie 190 er den del i så af scriptet i så før
Avatar billede exp-ralle Nybegynder
04. august 2002 - 11:37 #1
Du er sikker på du har en database der hedder database.mdb ???
Avatar billede kalkunen Nybegynder
04. august 2002 - 11:40 #2
Du kunne jo også skrive det såen her:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database.mdb")

Set Rs = Conn.Execute("SELECT count(*) as total FROM grin")


og så skriver du bare <%Rs("total")%> for resultatet!
Avatar billede kalkunen Nybegynder
04. august 2002 - 11:41 #3
hovti <%=Rs("total")%>
Avatar billede kalkunen Nybegynder
04. august 2002 - 11:42 #4
det kan jo også være en andel af scriptet, det vi ikke kan se!
Avatar billede tmceu Praktikant
04. august 2002 - 11:43 #5
En løsning kunne også være at prøve med en anden provider

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\database.mdb

Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("database.mdb")
Avatar billede fastpoint Nybegynder
04. august 2002 - 11:44 #6
jeg har den her som virker helt fint


<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
str_sql2 = "SELECT * FROM jwringetoner WHERE godkendt=(1)"
If Request("alfa") > "" Then str_sql2 = str_sql2 & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(tonenavn,1)))>0"
Set rs = Conn.Execute (str_sql2)
%>
Avatar billede fastpoint Nybegynder
04. august 2002 - 11:45 #7
den er bare fra et andet script
Avatar billede fastpoint Nybegynder
04. august 2002 - 11:46 #8
undskyld... jeg bruger dette

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "select * from grin where  Approved=true  ORDER BY id desc"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then


skal i bruge en anden del i scriptet eller er det her fejlen ligger?
Avatar billede kemoiq Nybegynder
04. august 2002 - 11:48 #9
Prøv at fjern alt andet script og se om den giver den samme fejl
Avatar billede fastpoint Nybegynder
04. august 2002 - 11:52 #10
det virkede i går... men her til morgen da jeg stod op så er den gået ned... dvs. scriptet fejler ikke noget.. det har noget med måde at connecte til min database at gøre da den ene metode stadig virker men ikke den anden
Avatar billede fastpoint Nybegynder
04. august 2002 - 11:55 #11
okay fejlen ligger helt sikkert her


    <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "select * from grin where  Approved=true  ORDER BY id desc"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 3
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Do While Not rs.EOF And intRecCount > 0

    %>


hvordan ville i skrive den del?
Avatar billede fastpoint Nybegynder
04. august 2002 - 12:01 #12
jeg har prøvet at ændre det til

    <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set Conn = Server.CreateObject("ADODB.Connection")
str_sql2 = "SELECT * FROM grin where  Approved=true  ORDER BY id desc"
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 3
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Do While Not rs.EOF And intRecCount > 0
Set rs = Conn.Execute (str_sql2)
    %>

men så får jeg denne fejl

Microsoft VBScript runtime error '800a01a8'
Object required: ''
Avatar billede fastpoint Nybegynder
04. august 2002 - 12:08 #13
rs.Open strSQL, strDSN, 1

det er helt præcist den linie den er gal med siger den
Avatar billede eagleeye Praktikant
04. august 2002 - 12:10 #14
Din SQL hedder str_sql2 og ikke strSQL så ret den til


rs.Open str_sql2, strDSN, 1
Avatar billede fastpoint Nybegynder
04. august 2002 - 12:14 #15
hold kæft hvor er den irriterende! den siger stadig

Object required: ''


<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

strSQL = "Select * from jwringetoner WHERE godkendt='Ja'"

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


i det script som virker har den også denne del i toppen af siden

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN


strSQL = "Select * from jwringetoner WHERE godkendt='Ja'"

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


i mit er det hele samlet i et...

  <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set Conn = Server.CreateObject("ADODB.Connection")
str_sql2 = "SELECT * FROM grin where  Approved=true  ORDER BY id desc"
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 3
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Do While Not rs.EOF And intRecCount > 0
Set rs = Conn.Execute (str_sql2)
    %>


kan det være problemet?
Avatar billede kemoiq Nybegynder
04. august 2002 - 12:15 #16
Hvad står der i strDNS, jeg har noget lignende og der har den værdien

strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\home\db\device.mdb;"
Avatar billede eagleeye Praktikant
04. august 2002 - 12:16 #17
Prøv dette:


<%
Ser rs = Server.CreateObject("ADODB.Recordset")
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

strSQL = "Select * from jwringetoner WHERE godkendt='Ja'"

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


i det script som virker har den også denne del i toppen af siden

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN


strSQL = "Select * from jwringetoner WHERE godkendt='Ja'"

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


i mit er det hele samlet i et...

  <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set Conn = Server.CreateObject("ADODB.Connection")
str_sql2 = "SELECT * FROM grin where  Approved=true  ORDER BY id desc"
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
rs.Open str_sql2, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 3
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Do While Not rs.EOF And intRecCount > 0
Set rs = Conn.Execute (str_sql2)
  %>
Avatar billede eagleeye Praktikant
04. august 2002 - 12:20 #18
Det kan måske være at det skal være:
rs.Open strSQL, strDSN, 1

og ikke:
rs.Open str_sql2, strDSN, 1
som jeg har skrevet.
Avatar billede fastpoint Nybegynder
04. august 2002 - 12:21 #19
den gør stadig det samme... det er da vildt underligt at det ene kan virke og ikke det andet... begge virkede som sagt i går, men nu virker kun det ene..
Avatar billede kemoiq Nybegynder
04. august 2002 - 12:22 #20
prøv den her


<%
Ser rs = Server.CreateObject("ADODB.Recordset")
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN

strSQL = "Select * from jwringetoner WHERE godkendt='Ja'"

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


i det script som virker har den også denne del i toppen af siden

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN


strSQL = "Select * from jwringetoner WHERE godkendt='Ja'"

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


i mit er det hele samlet i et...

  <%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = SServer.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")
str_sql2 = "SELECT * FROM grin where  Approved=true  ORDER BY id desc"

rs.Open str_sql2, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 3
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Do While Not rs.EOF And intRecCount > 0
Set rs = Conn.Execute (str_sql2)
%>
Avatar billede fastpoint Nybegynder
04. august 2002 - 12:23 #21
[Microsoft][ODBC Microsoft Access Driver] System resource exceeded.

den fejl.. hvad betyder den? det kan jo være det er en fejl fra hostens side for som sagt så virkede det i går
Avatar billede kemoiq Nybegynder
04. august 2002 - 12:25 #22
slet lige linien
Set rs = SServer.CreateObject("ADODB.RecordSet")
så ikke du havde den i toppen
Avatar billede eagleeye Praktikant
04. august 2002 - 12:27 #23
Måske der er en fejl hos dit web-hotel... Hvis koden virkede i går virken den også i dag :)

Hvis du dit web-hotel har installet nye serveren eller andet... Jeg er lige ved at se om jeg kan finde noget on fejlen men jeg har ikke lige fundet noget endnu.
Avatar billede kemoiq Nybegynder
04. august 2002 - 12:31 #24
Prøv lige at slette denne linie
Set rs = Conn.Execute (str_sql2)
næst nederst
Avatar billede eagleeye Praktikant
04. august 2002 - 12:33 #25
Jeg har fundet et sted hvor en anden har problememt og han skriver det hjælper at genstate serveren.

http://www.programmersresource.com/forum/treplies.asp?message=6146

Her er et svar fra en:
Hi!
Seems alot of people have this prob and have been emailing me for the info on DevX but they seem to have moved it... Anyway, to help you out if this is your prob, This is what I can remember...

http://www.webf1.com/scriptdoc/AutomationErrors.htm gives all those error codes and 8007000e is a memory problem.

http://dbforums.com/archive/7/2002/04/4/261723 give a solution of the following:

ASP is full of bugs, as I discovered lately, but these bugs can be solved by writing code.

My problem was due to Database connections, it seem to me I was doing the perfect thing,
opening connections, recordsets, executing queries and finally I destroy every object I create.

THE PROBLEM
===========
If you open only one connection (as I used to do), and run more than one query or recordsets
at the same time, what is happening? ASP does not allow you to run more than one query through
the same connection at the same time, (though it seems that it is working) so how come? Since
ASP does not allow that, it creates its own connections to run the further queries you are
executing, and after you are done with them, ASP is not destroying the connections it creates.
If you are not destroying your connection objects as well, so you are helping the problem to
come up.

WHAT IS HAPPENING
==================
unclosed objects will create a resource leak in memory, and as the times goes, more objects
are not closed, and more memory resources are consumed until it reaches to the maximum. And
guess what, the famous message will show up! :rolleyes:

SOLUTION
=========
-Define a connection for every query by its own.
-Create you connection object and destroy them your self, don't let ASP do any thing by its
self. :D

Hope this information be helpful for every body.
Avatar billede fastpoint Nybegynder
04. august 2002 - 12:35 #26
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC driver does not support the requested properties


hvorfor får jeg den fejl pludselig? scriptet er som da vi startede...  jeg bliver tosset snart:) Hvis fejlen ligger hos min host er det på en måde godt...



[Microsoft][ODBC Microsoft Access Driver] System resource exceeded.

kan den betyde at jeg har brugt Access driveren mere en tilladt?
Avatar billede fastpoint Nybegynder
04. august 2002 - 12:45 #27
eagleeye får point da han som sagt har fundet ud af hvad fejlen er.... det link der gav mig svaret...
Avatar billede fastpoint Nybegynder
04. august 2002 - 12:54 #28
er det så meningen skal lukke mine connections hver gang?

set rs = nothing
myConn.close
set myconn = nothing
Avatar billede eagleeye Praktikant
04. august 2002 - 12:59 #29
Ja man skal lukke sine recordset og connection hver gang.

rs.Close
set rs = nothing
myConn.close
set myConn = nothing
Avatar billede fastpoint Nybegynder
04. august 2002 - 20:18 #30
jeg kan se at jeg kun har skrevet

rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing %>

altså kun 

rs.Close
Set rs = Nothing

måske virkede det ikke eller hvad?
Avatar billede eagleeye Praktikant
05. august 2002 - 00:07 #31
Så lukker du for recordsetet ..

Hver connection / recordset der åbens i toppen af siden skal som minmum lukkes til sidst på siden. Det er natuligvis også iorden at de lukkes midt i dele og åbnes igen. Bare man lukker ingen.
Avatar billede fastpoint Nybegynder
05. august 2002 - 01:04 #32
okay tak...... jeg venter stadig på at de reseter deres server eller et eller andet:) det sker nok først i morgen... så skal jeg sgu sørge for at lukke ALT!:)
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