[ASP.NET 2.0 + Access 2003] Hangt op OpenCurrentDatabase

Pagina: 1
Acties:

  • R.A.
  • Registratie: Januari 2004
  • Niet online
Ik probeer om vanuit asp.net wat raporten te laten zien op intranet (vandaar niet performance probleem kwa office objecten aanmaken aan serverkant).

Nu krijg ik via een gewone C# applicatie, met exact dezelfde code, keurig te zien welke raporten er in de database zitten.
Maar in de web applicatie 'hangt' de website'.

Ik had het eerst ook in de c# applicatie, maar dat kwam doordat access op de proppen kwam met de vraag of de database geopend mag worden omdat macro security op medium stond. Na dit op low gezet te hebben werkt de c# applicatie prima.

Nu denk ik dat ditzelfde gebeurd bij asp.net want bij mijn processes komt keurig msaccess omhoog met de user ASPNET.

Iemand enig idee hoe ik dit moet instellen voor de gebruiker ASPNET ?

de code die ik gebruik:

C:
1
2
3
4
5
Microsoft.Office.Interop.Access.Application objAccess = new Microsoft.Office.Interop.Access.ApplicationClass();

objAccess.OpenCurrentDatabase(strDbPath, false, "");

short strReportCount = objAccess.CurrentDb().Containers["Reports"].Documents.Count;



*update

Ik kwam op inet toevallig net tegen dat je de security level kan wijzigen in code:
C:
1
objAccess.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityLow;


Alleen krijg ik nu een JIT Debugging error met Access Denied voor <% computername %>/aspnet...

[ Voor 15% gewijzigd door R.A. op 04-05-2006 15:49 ]


  • BertS
  • Registratie: September 2004
  • Laatst online: 13-02 08:33
Je moet zorgen dat de ASPNET-user lees/schrijfrechten heeft op de map met de access-database.

  • R.A.
  • Registratie: Januari 2004
  • Niet online
Het probleem is opgelost. Hetzij op een best ranzige manier, maar het is opgelost.
Het lag niet aan een rechtenprobleem want die stonden allemaal goed (tenminste dat denk je vaak :-P).

Het probleem zat hem in dat access wel geopend werd maar ik niet visible = true aan kon zetten waardoor ik niet precies kon zien wat er verkeerd ging.
Ik heb het opgelost door aspnet rechten te geven dat je ermee kan inloggen op je computer.
Vervolgens access opstarten en ervoor zorgen dat wanneer je op een mdb inlogt dat hij gelijk doorgaat naar tabellen (of iig niet de meldingen geeft van "opening" en de security issues met de vraag of je het zeker weet).

Vervolgens weer terug gegaan naar mijn account en vervolgens weer asp.net pagina gestart.
Et voila, kreeg keurig alle rapporten te zien die in de database stonden.

  • BertS
  • Registratie: September 2004
  • Laatst online: 13-02 08:33
Volgens mij moet dat ook zijn op te lossen met impersonating bij het uitvoeren van die actie.