Récemment, j'aidais d'autres personnes à traiter des données et j'ai constaté que lors de l'ajout de données, le message "ASP ne peut pas être mis à jour. La base de données ou l'objet est en lecture seule." J'ai effectué une recherche en ligne, mais mon problème n'a pas été résolu.
1. Le répertoire où se trouve le fichier mdb du répertoire de données du serveur est en lecture seule.
2. Modifiez les autorisations locales de la base de données en autorisations en lecture seule, puis téléchargez-la.
3. Il est possible que vous soyez passé d'un répertoire en lecture seule à un répertoire lisible, vous ne devez donc pas l'utiliser de cette manière. Téléchargez-le d'abord en local, puis téléchargez-le pour résoudre ce type de problème.
Solution "Impossible de mettre à jour, la base de données ou l'objet est en lecture seule"
Lorsque je suis entré en contact avec Dreamweaver pour la première fois, j'ai toujours rencontré cette erreur lors de la création d'une simple page pour écrire des données dans la base de données Access :
Erreur du fournisseur Microsoft OLE DB pour les pilotes ODBC « 80004005 », [Microsoft] [Le pilote ODBC Microsoft Access] ne peut pas être mis à jour.
La base de données ou l'objet est en lecture seule. J'ai essayé de déboguer plusieurs fois mais cela ne fonctionne pas.
Il n'y a pas d'autre moyen que de chercher sur Baidu, haha. Il semble que de nombreuses personnes aient rencontré ma situation. Une recherche révélera de nombreuses informations pertinentes. Les avantages du partage de ressources, ^_^.
Solution:
Le problème à l'origine de ce problème réside dans les autorisations d'accès au répertoire du site, car lors de l'utilisation de la base de données Access, un fichier .ldb doit être généré dans le même répertoire que ce répertoire.
S'il n'y a pas d'autorisation d'écriture ou si la base de données Access elle-même ne dispose pas d'autorisation d'écriture, cette erreur se produira. Étant donné que la plupart des sites Web accessibles via un navigateur utilisent Internet pour accéder de manière anonyme,
Il nous suffit d'ajouter l'utilisateur "IUSR_computer name" aux autorisations de répertoire de la base de données et de lui donner l'autorisation "write". J'ai trouvé des articles disant
Rejoignons l'utilisateur EveryOne et donnons l'autorisation "écrire". C'est trop dangereux. En principe, ce répertoire est ajouté pour que les utilisateurs puissent l'écrire lors de la configuration d'IIS.
Les utilisateurs ayant un accès anonyme à Internet utilisent généralement par défaut "IUSR_computer name", mais s'il s'agit d'un hôte virtuel, vous devez le vérifier vous-même.
La méthode de fonctionnement spécifique est :
Faites un clic droit sur le répertoire où se trouve la base de données (ou son répertoire supérieur, mais veillez à hériter des autorisations) -> Sélectionnez "Partage et sécurité" -> Sélectionnez l'onglet "Sécurité" ->
Cliquez sur le bouton "Ajouter" -> Cliquez sur le bouton "Avancé..." -> Cliquez sur le bouton "Rechercher maintenant (N)" -> Recherchez le nom d'utilisateur avec le préfixe "IUSR_"
(Le format est IUSR_computer name) -> Sélectionnez cet utilisateur et cliquez sur OK -> Cet utilisateur sera ajouté -> Dans la zone d'autorisation de "Compte invité Internet",
En plus de la valeur par défaut, sélectionnez « Autorisation d'écriture » -> « Appliquer » ou « OK ».