Connexion à une base de données access [Résolu]

Signaler
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008
-
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008
-
Salut à tous,

Je cherches à me connecter une base de données access grâce à ASP.Net, utilisant du VB.Net en langage également. J'ai créé un DataAdapter, un DataSet et une connexion.
Je met la ligne de code suivante dans la page aspx.vb :

Code:,
----

DataAdpater.fill(DataSet)

Ensuite, je fais un databinding, mais un message d'erreur s'affiche, m'indiquant que la base de données est utilisé par un autre utilisateur ou alors que je n'ai pas les autorisations.
J'ai essayé avec la base de données sur localhost et également dans un dossier direct de sur le bureau. Rien à faire cela ne fonctionne pas. J'utilise Windows XP.
Je vous remercie d'avance pour votre aide.

13 réponses

Messages postés
425
Date d'inscription
mercredi 22 janvier 2003
Statut
Modérateur
Dernière intervention
13 juillet 2007

Bonjour,

Je pense qu'il s'agit d'un problème de droits.

Utilises tu un IIS local ou est tu en 2.0?
Dans le cas d'un IIS, si le fichier représentant ta base de données access n'est pas un repertoire ou IIS a les droits NTFS (en lecture/ecriture), c'est normal que cela ne fonctionne pas. Essaie de rajouter ces droits sur ta base au compte "Service reseau" ou "Network services".


<HR>
Azra (Florent) - MVS - MCAD.NET
Messages postés
425
Date d'inscription
mercredi 22 janvier 2003
Statut
Modérateur
Dernière intervention
13 juillet 2007

Alors, je viens de me rendre compte que par défault l'écran n'était pas visible dans WinXP (trop habitué à 2003):

Pour activer, dans l'explorer: Tools/Folder Options/onglet view/ décocher la derniere case "Use simple File Sharing".

Après, tu pourras faire click droit sur le ficher de ta base, "properties" et acceder à l'onglet "Security'

Bon courage!


<HR>
Azra (Florent) - MVS - MCAD.NET
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Salut

En ben c'est pareil que ce que dis azra mais en français !
Dans l'explorateur Windows, tu fais :
Outils --> Options des dossiers... --> Onglet Affichage --> décoche la dernière case qui est : "utiliser le système de fichiers simple" (ou un truc dans ce genre là )

Ensuite dans les propriété de ton fichier, tu as l'onglet sécurité qui est apparu, où tu peux ajouter les utilisateurs :
"ASPNET" si tu es sou WinXP
"Services Réseau" (Network Services) si tu es sous Win2003
en lecture / écriture.
voilà

Nurgle
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Dans ce cas :

- Quand tu utilises IIS : c'est ASPNET ou Services Réseaux qu'il faut autoriser (suivant si tu es sous 2003 ou XP pro).

- Quand tu utilises le serveur web intégré de Visual Web Developer : je crois que c'est l'utilisateur local (qui a lancé Visual Web Developer) qu'il faut autoriser...(à vérifier...)

Nurgle
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
1. Tu vas chercher ton fichier (par exexmple : C:\inetpub\wwwroot\ta_base.mdb"), tu fais clique droit, puis Propriétés.
2. Dans l'onglet Sécurité, clique sur "Ajouter...", tappe ASPNET et clique sur "Vérifier les noms" et ensuite sur OK. (si il ne trouve pas le nom, essaye avec SERVICE, fais "Vérifier les noms" puis choisit "Service Réseau")
3. L'utilisateur est apparu dans la liste, ensuite tu le sélectionnes et dans la liste des cases à cocher en bas, tu autorises à peu près tout... !

Qu'est ce qui ne marche pas chez toi dans ces 3 étapes ? Normalement ça marche !!

Nurgle
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008

Comment puis je faire pour donner des droits sur ma base de donnée. Je n'ai pas trouvé comment faire.
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008

Merci pour l'information, mais je ne trouve pas comment faire. Je ne trouve pas où tu m'as indiqué. Moi c'est en français. Merci d'avance.
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008

En fait je me rend compte que je me suis trompé. Je suis en 2.0. J'utilise la version béta 2 de Visual Web Developper chez moi.
Enfin c'est pas exactement ça. Chez moi j'utilise la version 2.0. Tandis qu'ailleur j'utilise l'IIS. Je vais essayer quand je serais pas chez moi. Je verrais bien. Merci pour les infos.
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008

Je te remercie pour les informations. Je vais chercher comment faire pour le serveur web intégré.
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008

Salut,

L'onglet sécurité apparait quand le fichier est sur le bureau, mais une fois sur localhost, cela ne fonctionne plus. Même avec le fichier sur le bureau et l'onglet sécurité, je n'arrive pas à ajouter ASPNET. Donc je ne peux pas l'autoriser. Je ne vois pas comment faire. Cela m'affiche toujours cela quand je lance la page :


Le moteur de la base de données Microsoft Jet ne peut pas ouvrir le fichier 'C:\Documents and Settings\staginfor1\Local Settings\Temporary Internet Files\Content.IE5\0CMOY241\bd1[1].mdb'. Il est déjà ouvert en mode exclusif par un autre utilisateur, ou vous devez avoir l'autorisation de visualiser ses données.

Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.Data.OleDb.OleDbException: Le moteur de la base de données Microsoft Jet ne peut pas ouvrir le fichier 'C:\Documents and Settings\staginfor1\Local Settings\Temporary Internet Files\Content.IE5\0CMOY241\bd1[1].mdb'. Il est déjà ouvert en mode exclusif par un autre utilisateur, ou vous devez avoir l'autorisation de visualiser ses données.

Erreur source:


Ligne 152 :
Ligne 153 :    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Ligne 154 :        DataAdapter.Fill(DataSet)
Ligne 155 :    End Sub
Ligne 156 :



Comment faut-il que je fasse? Je ne trouve pas la solution. Merci d'avance.
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008

Merci pour l'info. Il ne trouve pas ASPNET, mais j'arrive à ajouter SERVICE RESEAU. Je donne alors les droits à tout. Mais cela ne fonctionne toujours pas. Je ne comprends pas de quoi ça peut venir.
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
Après réflection, il y a quand même un truc que je trouve étrange là dedans... c'est le chemin d'accès de ta base !
Elle est dans les fichiers web temporaires, comme si elle était téléchargée sur le poste client...c'est bizarre
Elle aurait été dans le cache ASP.NET, ou à son emplacement d'origine, ça aurait été tout à fait normal, mais je ne vois pas ce que ta base est venue fabriquer dans le cache de ton navigateur !!
(ce qui pourrait expliquer l'erreur que tu obtiens : ton navigateur web ouvre normalement tous les fichiers du cache, y compris ta base, qui ne peux alors plus être utilisé par asp.net !)
Comment te connectes-tu à ta base ?

(là j'avoue que, si il n'y a rien non plus d'anormal de ce côté là...je ne vois plus guère que le désinstall / réinstall du framework .NET, d'IIS, etc...)

Nurgle
Messages postés
40
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
9 août 2008

Je crée un oleDataAdapter, une connexion Ole et donc ensuite je génère un DataSet. Puis après dans les lignes de code je met : DataAdapter.fill(DataSet). J'ai fait cela en VB.Net et ça fonctionne sans problème. J'ai essayé avec le fichier sur plusieurs endroits, comme inetpub/www root, mais ça ne fonctionne pas quand même. Là je ne vois plus quoi faire.