none
Comment écrire dans un fichier de BD Acces installé dans programmes files? RRS feed

  • Question

  • Salut à tous. J'ai souci pour lequel j'ai fort besoin de votre aide.

    Mes recherches ne me donnent pas satisfaction c'est pourquoi je me tourne vers vous. J'ai juste besoin de votre expérience en la matière.

    En fait, mon problème est simple. J'ai crée le setup d'une application vb.net utilisant une BD Access. J'ai inclus le fichier de BD dans le setup. De ce fait, à l'installation du programme, tous les fichier s'installent par défaut sur le disque C et dans programme files. En réalité je suis conscient du fait que les données doivent être séparées du programme. Cependant, ça me plait de garder le tout ensemble. Bref, lorsque le fichier de BD est dans programme files, l'application ne peut pas écrire ou modifier les données. Du coup je suis obligé d'installer mon programme sur le C sans aller dans programme files.

    J'utilise VB.NET 2013 Pro et j'ai utilisé InstalShield pour mon setup.

    Comment m'y prendre pour que mon fichier de BD puisse subir l'écriture et la modification bien qu'étant dans Programme Files?

    Autrement je suis disposé à vous suivre si vous avez une méthode à me proposer.

    Merci

    Cordialement.

    jeudi 2 octobre 2014 18:08

Réponses

Toutes les réponses

  • Bonjour,

    Est-ce qu'il y a une erreur que vous obtenez au cours d'execution du programme quand il est installé dans Program Files?

    Cordialement,

    Nina

    vendredi 3 octobre 2014 13:57
    Modérateur
  • Est-ce qu'il y a une erreur que vous obtenez au cours d'execution du programme quand il est installé dans Program Files?

    Bonjour,

    1/ La question exacte est : y a-t-il erreur lorsque la base de données est elle aussi installée dans Program Files ?

    2/ La réponse est oui, il y a erreur 5, violation des droits d'accès.

    En effet, l'utilisateur limité n'est pas autorisé à modifier un fichier dans ce répertoire.

    Et à la question quoi faire ? il y a deux réponses :

    1/ La mauvaise : dans les propriétés du fichier (de base de données), aller dans l'onglet sécurité, et au niveau des utilisateurs sélectionner l'utilisateur de la base de données, lui donner les droits de modification. Il y a lieu de développer davantage pour Windows XP familial, mais si je dis que c'est la mauvaise réponse ...

    2/ La bonne : un programme d'installation réalisé sous Visual Studio donne accès à plusieurs répertoires cibles. Celui appelé sortie principale du programme, se trouve dans Program Files, il doit contenir l'exécutable bien entendu, pas la base de données.

    ça fait un moment que j'ai fait mon dernier programme d'installation, alors j'ai cherché dans Google "Visual Studio programme d'installation". ça donne deux catégories de résultats :

    - certains concernent l'installation de Visual Studio

    - d'autres concernent la réalisation d'un programme d'installation à l'aide de Visual Studio.

    Bien entendu c'est à la deuxième catégorie qu'il faudra s'intéresser.

    Par exemple on trouve ceci

    http://tutoworld.com/ressources/cours/creer-une-installation-setup-pour-votre-programme-224/

    La notion de FileTransfert ne m'évoque rien dans ce contexte, si jamais ce n'est pas la bonne réponse il faudra chercher plus loin dans les résultats de recherche.


    • Modifié Gloops samedi 4 octobre 2014 10:26
    samedi 4 octobre 2014 10:24
  • Voici le message d'erreur: l'opération doit utiliser une requête qui peut être mise à jour. Merci

    samedi 4 octobre 2014 11:27
  • La base de données doit être placée dans un répertoire où l'utilisateur a les droits d'écriture (pour Windows XP : C:\Documents And Settings\(nom utilisateur)\ suivi de Application Data\(nom de l'application), ou on peut admettre Mes Documents).

    Ceci dit ça serait intéressant pour interpréter ce message d'en savoir plus sur la requête concernée. Est-ce qu'on a un moyen de savoir ?

    Si c'est à l'ouverture du programme pas forcément ...

    Il n'est pas certain qu'on trouve quelque chose dans l'observateur d'événements (outils d'administration du panneau de configuration), mais ça ne coûte rien de regarder.

    samedi 4 octobre 2014 12:35
  • Voici le message d'erreur: l'opération doit utiliser une requête qui peut être mise à jour. Merci

    Indépendamment de ce que je disais sur la nécessité d'installer la base dans un répertoire où l'utilisateur a les droits d'écriture, il pourrait être bon de faire un test avec un profil administrateur, pour voir si on obtient aussi ce message. Auquel cas il est surprenant qu'on ne l'ait pas obtenu en contexte de développement au préalable.

    Et si c'est bien ça il faudra bien trouver quelle est la requête concernée, et publier ici son code SQL.

    samedi 4 octobre 2014 12:42
  • Merci. Je vais voir ce que ça donne.
    lundi 6 octobre 2014 08:33
  • Bonjour,

    Question: utilisez vous un dataset ?

    Dans tous les cas votre application doit savoir où trouver la base de données après publication. C'est à dire que le chemin d'accès (chaine de connexion) que vous utilisiez pendant le développement doit être modifiée en conséquence.

    Cordialement.

    jeudi 9 octobre 2014 11:43