[ASP] Vage error met Access DB

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik krijg na het openen van een Access DB deze foutmelding:
Error Type:
Provider (0x80004005)
Unspecified error
/table.asp, line 23
Op line 23 staat alleen dat hij de connection naar de MDB moet openen. Ik werk met een ODBC koppeling, dus een DSN naam opegeven is genoeg.

Als ik na een tijdje weer die page wil laden krijg ik wel de inhoud te zien. Openen ik hem dan weer, dan deze error weer, en moet ik weer een tijdje wachten om dit probleem te verhelpen.

Iemand een idee?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Erg vaag. Mocht het het nog niet gedaan hebben, kijk dan eens hier.

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 16-09 08:48
Wat is het aantal threads en hoe staan de locks voor de odbc koppeling?

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Op dinsdag 25 september 2001 11:13 schreef Banpei het volgende:
Wat is het aantal threads en hoe staan de locks voor de odbc koppeling?
Ik heb er niet zo veel verstand van, maar ik heb gewoon een standaard System DSN ODBC koppeling gemaakt. Het vreemde is dat dit wel goed heeft gewerkt.

Ik open en sluit de DB koppeling en record sets goed dacht ik:

Openen:
code:
1
2
3
4
5
6
7
8
Dim objConnect, objRst

Set objConnect = Server.CreateObject("ADODB.Connection")
objConnect.ConnectionString = "DSN=Nostradamus;"
objConnect.Open

Set objRst = Server.CreateObject("ADODB.Recordset")
Set objRst.ActiveConnection = objConnect

Sluiten:
code:
1
2
3
4
ObjRst.Close
objConnect.Close
Set objRst = Nothing
Set objConnect = Nothing

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Moet die ';' na Nostradamus?
:?

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik denk zelf dat het meer iets te maken heeft met de ODBC koppeling als met de ASP code, omdat precies delzefde code wel goed werkt op een ander systeem.

Deze fout heb ik op een Windows 2000 Server machine, en op een XP machine werkt het dus wel goed.

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

ik zou de laatste mdac installeren. Misschien helpt dat.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Op dinsdag 25 september 2001 11:25 schreef watnou het volgende:
ik zou de laatste mdac installeren. Misschien helpt dat.
Waar kan ik daar meer info over vinden?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik wil er nogmaals op wijzen dat je dus 1x zo'n pagina kan openen zonder problemen, doe je het direct weer dan krijg je die error. Wacht je dan een minuut ofzo, dan kun je weer 1x die pagina bekijken.
Het is dus niet altijd zo dat ie een fout geeft

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Op dinsdag 25 september 2001 11:29 schreef jelmervos het volgende:
Waar kan ik daar meer info over vinden?
MDAC

Ik zou denk toch nog even goed je code doorlopen. Het lijkt erop dat je toch niet helemaal goed afsluit en opruimt. Misschien dat je eerder bij het einde van je code bent dan waar het opruimen staat?

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Op dinsdag 25 september 2001 11:13 schreef Banpei het volgende:
Wat is het aantal threads en hoe staan de locks voor de odbc koppeling?
Threads: 3
Locks: ???

Eigenlijk heb ik al die ODBC opties standaard gelaten, behalve dan de DSN naam, Access DB en omschrijving.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Op dinsdag 25 september 2001 11:36 schreef ml1 het volgende:

[..]

MDAC

Ik zou denk toch nog even goed je code doorlopen. Het lijkt erop dat je toch niet helemaal goed afsluit en opruimt. Misschien dat je eerder bij het einde van je code bent dan waar het opruimen staat?
Lijkt me sterk, de code is zo simpel. Ik open die database (zie hier boven), ik doe een SELECT query, ik poep die query uit in de vorm van een HTML tabel. Daarna sluit ik de DB connectie weer (zie hier boven).

Het stelt echt niks voor, geen vreemde handelingen ofzo.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 16-09 08:48
Probeer eens je connection-timeout naar de database te verlagen...
code:
1
2
3
4
Set objConnect = Server.CreateObject("ADODB.Connection")
objConnect.ConnectionTimeout = 20
objConnect.ConnectionString = "DSN=Nostradamus;"
objConnect.Open

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Kan er helaas nu niet mee bezig omdat ik dit probleem op m'n werk heb, en thuis het verder wel goed werkt. Vandaar dat ik de door jullie aangeboden oplossingen pas later kan testen. In ieder geval bedankt! :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Heb ik ook gehad, na een nieuwe windows installatie werkte 't wel met dezelfde code :?

  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Oh dit is dus de random error functie van Microsoft. Daar kom je niet omheen.

FF serieus: check even je ODBC instellingen, en probeer het anders met een direct pad. En gooi je cache even leeg: dat hielp hier weleens :)

  • PowerRun
  • Registratie: Mei 2001
  • Laatst online: 16-08 15:08
Deze error heb ik alleen nog maar gezien toen ik de betreffende database heb aangesproken en er iets fout ging. Op de een of andere manier gaat na bepaalde fouten van mijn kant (foute DSN gebruiken, database gelocked om vage reden).

DE oplossing om snel verder te gaan is rebooten. Het gebeurt alleen maar wanneer er iets NIET goed is gegaan met het runnen van een query. Hij komt dan niet (goed) aan het einde van de page (waar je connectie + rs sluit).

Als je de pagina foutloos hebt, ben je dit probleem kwijt. Je zou ook beter met error trapping werken, zodat je weet waarom het fout is gegaan (en om te voorkomen DAT er iets fout gaat :) )

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 11:01

Basszje

Reisvaap!]

Dit is idd de random error van MS, die gebruikt ie te pas voor allerlei dingen waar die niet meer kan omgaan.

Het kan ook liggen aan dat je net je ODBC connection heb gemaakt.
Ik heb nl vaak bij het creeeren van de ODBC (instellingen enzo) dat als je daarna gelijk een pagina aanroept dat ie een error geeft .

Verder moet je gewoon je installatie en instellingen checken imo

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 16-09 08:48
Vandaar dus dat ik roep dat ie de timeout moet setten... ;)

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
ODBC koppeling bestond al langer, het heeft ook goed gewerkt. Maar sins dat ik de database met Access een beetje heb veranderd geeft hij deze error.

De pagina laadt verder wel goed, als ik dus een tijd wacht. Openen ik die pagina dan gelijk weer, dan is het weer mis. Je moet gewoon echt steeds even een paar minuten wachten voordat ie weer werkt. Heel vaag.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Probleem is ook verholpen met een andere Connection String, gewoon direct via een Access driver + bestandsnaam van de MDB. Heel vaag dus.

"The shell stopped unexpectedly and Explorer.exe was restarted."


Verwijderd

Het connection-object heeft een Errors collection. Hiermee kun je misschien meer informatie vinden over de fout:
code:
1
2
3
For Each Err In conn.Errors
  Debug.Print Err.Number & ":" & Err.Description
Next

Tevens, je maakt gebruik van ODBC. Als je van MS Access gebruik maakt, en je programmeert met ADO, dan is het beter om op een "native" OLEDB provider over te stappen.

Wil je weten waarom, zie http://msdn.microsoft.com/library/en-us/dnoledb/html/choosingcomponents.asp en dan het hoofdstuk OLE DB vs. ODBC (bijna onderaan).

Tevens zegt (almighty :Z)MS:
ODBC Provider (MSDASQL)
You are strongly encouraged to use one of the native OLE DB Providers instead of the Microsoft Open Database Connectivity (ODBC) Provider. Native OLE DB Providers provide better application stability and performance. Furthermore, native OLE DB Providers will be supported in the future, whereas MSDASQL will not have any new features added to it, will not be available on 64-bit, and will not be accessible from the OLE DB NET Data Provider.
(http://msdn.microsoft.com/library/en-us/mdacsdk/htm/mdac_deprecated_components.asp?frame=true)

Concreet (in VB hoop ik):
code:
1
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db.mdb;User ID=;Password=;"

Klein nadeel is dat je de databasenaam enzo in je broncode hebt staan (maar dat kun je makkelijk uit de registry of zo halen).

  • Ashbjorn
  • Registratie: Maart 2001
  • Laatst online: 07-04-2019

Ashbjorn

Who's your daddy! WHUZAAA

Ik ben helemaal afgestapt van dat objConn en objRs gepruts. Ik heb een DataBase class gecontrueerd die gebruik maakt van ADO, dus je hebt geen adovbs.asp meer nodig en ook niet dat werkelijke geKUT met objConn en objRs en Close en weet ik wat meer voor bende.

Verder ben ik erg consistent qua proggen in ASP, ik doe absoluut niet meer dan 1 DataBase query per pagina.

Klein voorbeeld:

Admin.Login.asp <-- Hier wordt login scherm getoond
Admin.Login.Now.asp <-- Hier wordt de DB aangesproken

Admin.Logout.asp <-- Hier wordt gevraagd of je zeker bent
Admin.Logout.Now.asp <-- Hier wordt daadwerkelijk uitgelogt en/of redirected naar begin pagine o.i.d.

op die manier weet je 100% zeker dat het niet ligt aan die wannabee connection pooling code die de meeste trachte te schrijven, threading via Classes is zo veel sneller en efficienter.

Een ieder die graag code samples of meer uitleg wil zal ik graag helpen. Ik ben compleet af gestapt op die "oude" methode en sinds dien heb ik NOOOIT meer die Provider/Unexpected Error gehad. ;)

Atl.

Athlon 64 3500+ || MSI Neo2 Platinum || 1GB PC3200 Corsair XLPRO 2-2-2-5@1T || Hitachi SATA 250GB@7200 8MB || WD Raptor 73GB@10000 8MB || AOpen GF 6800 GT 256MB || SB Audigy2 Platinum || Logitech Laser G5 || 19" Iiyama HM903DT || 1280@100Hz

Pagina: 1