Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

Le fournisseur 'Microsoft.ACE.OLEDB.12.0'


Sujet :

Visual Studio

  1. #1
    Membre régulier
    Le fournisseur 'Microsoft.ACE.OLEDB.12.0'
    Voilà, j'ai cherché sur le net, partout, demandé à ma prof' aucune réponse .
    Dans le cadre de mes PTI nous développons quelques appli' en C# sur VS2010.

    L'une des PTI à besoin d'une base de donnée Access préalablement créee.
    Sauf qu'à mon lycée, mon application fonctionne, mais chez moi , la connexion à la base de donnée est impossible, m'alertant ce message.
    Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas inscrit sur l'ordinateur local
    En faisant des recherches sur internet, j'ai malheureusement pas trouvé de solution à mon problème car soit les explications n'étaient pas claires, soit elles l'étaient mais je ne trouvais pas les onglets qu'ils me demandaient de chercher.

    Donc j'en appelle à votre aide pour essayer de régler mon problème.

    Merci bien

  2. #2
    Membre averti
    Bonjour,

    Ton problème est un problème de Driver pour ton application. Il faut que les Drivers ACE que tu peux trouver sous ce lien :
    http://www.microsoft.com/download/en/details.aspx?id=13255

    Si tu veux résoudre ton problème il faut que tu trouves le type de driver Acces qui sont intallés sur ton poste cible et que tu changes ta connexion String dans ton fichier de configuration. Ceci permettra à l'exécution d'aller pointer sur les bon drivers.

    Pour voir les drivers installer c'est dans Panneau de configuration > Outils d'administration > Sources de données (ODBC)

    Es tu en BTS ?

    Voila
    "Une belle citation est un diamant au doigt de l'homme d'esprit et un caillou dans la main d'un sot."
    Joseph Roux

  3. #3
    Membre confirmé
    Bonjour Neewd,

    Je suppose que l'erreur que tu as eu est celle-ci:*


    Pour résoudre le problème, tu peux tenter simplement de passer ton programme en AnyCPU au lieu de x86:
    Projet > Propriété > Générer > Plateforme cible : sélectionner Any CPU.

    Recompile, exécute, ça devrait fonctionner.

  4. #4
    Membre à l'essai
    Salut ,
    moi aussi j'ai le même pb
    j'ai suivi les étapes :
    Pour résoudre le problème, tu peux tenter simplement de passer ton programme en AnyCPU au lieu de x86:
    Projet > Propriété > Générer > Plateforme cible : sélectionner Any CPU.
    mais j'ai le même msg
    avec win 7 64bits + acces 2007 + vb express 2010
    un peux d'aide
    Meciii

  5. #5
    Nouveau Candidat au Club
    Réponse
    le problème est l'incompatibilité entre le noyau 86 et 64. faire un clique avec le bouton droit sur le projet puis propriétés dans le menu Bluid et PlatForm target changer 64 par 86.

  6. #6
    Candidat au Club
    Citation Envoyé par Prlahceninfo Voir le message
    le problème est l'incompatibilité entre le noyau 86 et 64. faire un clique avec le bouton droit sur le projet puis propriétés dans le menu Bluid et PlatForm target changer 64 par 86.

    c'a marche bien pour moi merci bien

  7. #7
    Nouveau Candidat au Club
    Citation Envoyé par Reward Voir le message
    Bonjour Neewd,

    Je suppose que l'erreur que tu as eu est celle-ci:*


    Pour résoudre le problème, tu peux tenter simplement de passer ton programme en AnyCPU au lieu de x86:
    Projet > Propriété > Générer > Plateforme cible : sélectionner Any CPU.

    Recompile, exécute, ça devrait fonctionner.
    salut
    dans la zone plateforme je n'ai que anycpu

  8. #8
    Inactif  
    Bonjour,

    Citation Envoyé par Prlahceninfo Voir le message
    le problème est l'incompatibilité entre le noyau 86 et 64. faire un clique avec le bouton droit sur le projet puis propriétés dans le menu Bluid et PlatForm target changer 64 par 86.
    C'est Archi-faux. C'est lié à Office. Avec Office 2007, Microsoft a remplacé ses fichiers de données d'Office qui étaient dans des formats binaires propriétaires par des fichiers à la norme OpenXML. Ils en ont profité pour remplacer le moteur JET par le moteur ACE, et aucun fichier Office avec une instruction à quatre lettre n'est compatible avec le moteur JET. Pour ceux qui ne l'ont pas, il faut télécharger le Acces Database Runtime, sur le site de Microsoft.

    L'histoire de 32/64 bits n'a rien à voir ici. C'est parce que pour Office 2010 et après, on a le choix entre un Office à 32 bits ou un Office à 64 bits. Et là, le problème touche surtout les développeurs VBA parce les ActiveX VB6 (Calendar, ListView etc) ne sont pas compatibles avec les Office 64 bits.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  9. #9
    Membre régulier
    visual studio Excel C#
    Bonjour à toutes et à tous,

    J'utilise visual studio,
    voilà j'ai essayé d'ouvrir un classeur excel (office 365) en suivant un tuto video mais étrangement ça ne fonctionne pas:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.OleDb;
     
    namespace ouverturefichier
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                OleDbConnection Excel = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\XXXXXXXXXXX\Classeur_test.xlsx;Extended Properties=""Excel 12.0 Xml; HDR = YES"";");
                Excel.Open();
                DataTable t = new DataTable();
                OleDbCommand cmd = new OleDbCommand("select * from [Feuil1$]", Excel);
                OleDbDataReader dr = cmd.ExecuteReader();
                t.Load(dr);
                dataGridView1.DataSource = t;
            }
        }
    }


    J'ai un message qui dit: System.InvalidOperationException*: 'Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas inscrit sur l'ordinateur local.'
    Je ne sais pas ce que je dois télécharger pour y parvenir.
    Quelqu'un a une idée svp de ce que je dois faire pour débloquer ça ?

  10. #10
    Inactif  
    Citation Envoyé par manufer Voir le message
    Bonjour à toutes et à tous,

    J'ai un message qui dit: System.InvalidOperationException*: 'Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas inscrit sur l'ordinateur local.'
    Je ne sais pas ce que je dois télécharger pour y parvenir.
    Quelqu'un a une idée svp de ce que je dois faire pour débloquer ça ?
    Commencer par lire les réponses qui sont déjà là.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  11. #11
    Membre régulier
    Salut Clement,

    J'ai essayé les réponses données mais elle ne fonctionne pas.

    j'ai aussi sélectionné: any CPU, mais idem.

    Les données sont sur fichier excel et non access donc y a t-il un pilote que je dois telecharger ?

  12. #12
    Membre régulier
    Existe t-il un équivalent de "Acces Database Runtime" pour excel svp ?

  13. #13
    Inactif  
    Quelle est ta version d'Access ?

    Essaie les différentes versions du Runtime. L'appariement entre la version de VS et la version d'Office peut être délicate. Avec VS 2015, la version 2007 32 bits était bien accepté. Avec VS 2017, cela prend celui de ma version d'Access

    Existe t-il un équivalent de "Acces Database Runtime" pour excel svp ?
    C'est le même. C'est juste la chaîne de connexion qui change.

    www.connectionstrings.com
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  14. #14
    Candidat au Club
    Bonjour, j'ai exactement le même problème, j'utilise vb.net de vs professionnel 2013 et je vais me connecter à ma base des données access 2013, et on me dit que le fournisseur Microsoft.ace.oledb.12.0 n'est pas enregistré sur la machine locale.
    Que dois je faire justement ?

  15. #15
    Inactif  
    Ce message n'a pas pu être affiché car il comporte des erreurs.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  16. #16
    Nouveau Candidat au Club
    Salut,

    Je poste ce message pour ceux que ça peut aider car j'ai réussi à résoudre le problème de mon côté. Tout d'abord pour pouvoir utiliser une base de données Access, il faut installer AccessDatabaseEngine. Seulement il faut faire attention à un détail; il faut choisir la bonne version. En effet pour résoudre le problème j'ai du désinstaller AccessDatabaseEngine et réinstaller la bonne version.

    Je pense qu'il faut installer la version correspondante avec la version d'Access installée, or j'avais installé AccessDatabaseEngine 64 bits alors que j'avais une version de Access 32 bits.

    - Pour savoir la version d'Access que vous utilisez, il suffit de faire Fichier > Compte > A propos de Access.
    - Une fois que vous avez repéré la version utilisée, installez la version correspondante de AccessDatabaseEngine que vous pourrez télécharger avec le lien suivant :

    https://www.microsoft.com/fr-FR/download/details.aspx?id=13255

    J'espère que ça en aura aidé certains

###raw>template_hook.ano_emploi###