Si on accède sans problème à la base en lecture, mais que toute les requêtes modifiant la base (INSERT, UPDATE, DELETE) retourne le message suivant :
« System.Data.OleDb.OleDbException: L'opération doit utiliser une requête qui peut être mise à jour. »
Le problème ne se situe pas au niveau du code ASP.NET, mais vient dun problème de droits daccès au niveau du serveur.
En effet, linstallation du FrameWorks 2, permettant à IIS dinterpréter les codes .NET, à pour effet de créer automatiquement un utilisateur virtuel nommé « ASPNET ». Ensuite, pour que le code ASP.NET puisse accéder à une base, il suffit de donner des droits à cet « Utilisateur » sur le fichier Base (Attention : il sagit ici des droits « Windows » et pas des droits « IIS » ).
Donc :
Faire ensuite un clic droit sur la base puis sélectionnez « Propriétés », puis longlet «Sécurité »
Cliquez sur le bouton « Ajouter »
Choisissez lutilisateur « ASPNET », cliquez sur le bouton « Ajouter » puis « OK »
Une fois revenu sur lécran précédent, choisissez lutilisateur « ASPNET »,
puis accordez-lui toutes les autorisations daccès en cochant les cases de la colonne « Autoriser ».
Validez par « OK ».
A présent le code ASP peut modifier le contenu de la base.
Cybiot
