Xini28
Messages postés40Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 9 août 2008
-
6 janv. 2006 à 16:03
Xini28
Messages postés40Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 9 août 2008
-
10 janv. 2006 à 21:08
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.
cs_azra
Messages postés425Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention13 juillet 20071 6 janv. 2006 à 20:30
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".
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 7 janv. 2006 à 13:24
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à
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 7 janv. 2006 à 13:38
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 9 janv. 2006 à 21:11
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 !!
Xini28
Messages postés40Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 9 août 2008 7 janv. 2006 à 13:31
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.
Xini28
Messages postés40Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 9 août 2008 9 janv. 2006 à 08:45
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.
Xini28
Messages postés40Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 9 août 2008 10 janv. 2006 à 11:17
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.
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 10 janv. 2006 à 19:30
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...)
Xini28
Messages postés40Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 9 août 2008 10 janv. 2006 à 21:08
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.