IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Accès aux données Discussion :

Problème de connexion vb.net - Access 2016


Sujet :

Accès aux données

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 142
    Points : 236
    Points
    236
    Par défaut Problème de connexion vb.net - Access 2016
    Bonjour,

    Nous avons développé une application en VB.NET (Visual Studio 2013) qui se connecte à une base Access 2013 sur du Windows 8 qui tourne depuis plus de 2 ans.

    Depuis début juillet, les postes sont en train d'être migré en Windows 10 avec Office 2016.

    Notre application, sur ces nouveaux postes, n'arrive plus à se connecter à la base et renvoi le message d'erreur suivant :

    Le fournisseur "Microsoft.ACE.OLEDB.12.0" n'est pas inscrit sur l'ordinateur local

    Après plusieurs tests de "solutions" trouvées sur internet, je m'en remet à vous pour trouver la solution qui nous permettra de faire communiquer notre application avec sa base de donnée.

    Pour info, sur les postes de développement, nous sommes passés en W10, Visual Studio 2015 et Office 2016.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Il faut installer les composants Access sur les postes clients : Microsoft Access Database Engine 2016 Redistributable.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 142
    Points : 236
    Points
    236
    Par défaut
    Merci, je vais tester cela.

    Par contre, pour les postes clients qui ont déjà MS ACCESS 2016 et pour lesquels on a le message d'erreur, est-ce que cela va changer quelque chose ?

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 142
    Points : 236
    Points
    236
    Par défaut
    Je me permet de relancer cette discussion car je crois que je vais péter un câble.

    Nous avons 2 type de PC :
    PC 1 : Windows 8 + Office 365
    PC 2 : WIndows 10 + Office 365

    Le bout de code ci-dessous fonctionne parfaitement sur PC1 mais pas sur PC2 qui sort l'erreur "Le fournisseur "Microsoft.ACE.OLEDB.12.0" n'est pas inscrit sur l'ordinateur local".

    Ce bout de code est développé sous Visual Studio 2013 sur le PC1 (nous n'avons pas encore les droits admin pour installer VS sur PC2).

    La question est la suivante : comment faire pour générer un exe à partir de ce bout de code qui fonctionnera sur les deux machines sachant qu'il est, à priori, hors de question d'installer un composant supplémentaire sur PC2 (pas de droit admin)
    (info supplémentaire, l'application qui a le soucis à la base utilise le même type de code mais avait été développé avec Office 2013).

    J'ai essayé de modifier le type de CPU pour Build mais cela n'a rien changé.

    Voici le bout de code

    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
    Imports System
    Imports System.Data
    Imports System.Data.Common
    Imports System.Data.OleDb
     
    Public Class Form1
     
        Dim strConn As String
        Dim conn As New OleDbConnection
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test.accdb;"
            conn.ConnectionString = strConn
     
            Try
                conn.Open()
                MsgBox("Connexion OK")
                conn.Close()
            Catch ex As Exception
                MsgBox("Connexion KO !!" & vbCrLf & "Erreur : " & ex.Message)
            End Try
        End Sub
    End Class

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Soticca Voir le message
    Je me permet de relancer cette discussion car je crois que je vais péter un câble.
    Avant de peter un cable, il faudrait peut-etre prendre le temps de comprendre ce qu'est un fournisseur de donnees (data provider) et comment ca fonctionne Les fournisseurs de donnees sont des composants COM qui doivent etre non seulement installes, mais aussi declares sur la machine (regsvr32). Pour faire cela, il faut que le compte utilisateur qui va lancer regsvr32 beneficie des permissions "FULL CONTROL" sur la cle de registre HKEY_CLASSES_ROOT.

    Citation Envoyé par Soticca Voir le message
    Ce bout de code est développé sous Visual Studio 2013 sur le PC1 (nous n'avons pas encore les droits admin pour installer VS sur PC2).
    Il n'y a pas besoin d'installer Visual Studio pour que ca fonctionne, il faut juste installer les composants redistribuables.

    Citation Envoyé par Soticca Voir le message
    La question est la suivante : comment faire pour générer un exe à partir de ce bout de code qui fonctionnera sur les deux machines sachant qu'il est, à priori, hors de question d'installer un composant supplémentaire sur PC2 (pas de droit admin)
    (info supplémentaire, l'application qui a le soucis à la base utilise le même type de code mais avait été développé avec Office 2013).
    Tu n'as pas le choix, il te faut des droits pour installer les composants redistribuables d'Office. Plusieurs facons de proceder :
    1 - Tu crees ton composant setup executable et tu inclues ton application + les composants redistribuables dedans pour que tout s'installe en meme temps.
    2 - Tu pousses les composants redistribuables vers le PC2 via ton systeme de mises a jour pour Windows.
    3 - Tu fais installer manuellement ces composants par l'utilisateur avant d'utiliser ton logiciel. S'il a oublie, tu peux par exemple detecter leur presence au lancement et afficher un message pour rappeler que cette installation est requise.

    Citation Envoyé par Soticca Voir le message
    J'ai essayé de modifier le type de CPU pour Build mais cela n'a rien changé.
    Cela n'a rien a voir avec le probleme.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 142
    Points : 236
    Points
    236
    Par défaut
    Désolé pour la réponse tardive mais j'ai une autre question.

    En installant AccessDatabaseEngine.exe (access 2010) sur le PC2, l'application fonctionne en effet.

    Par contre, maintenant que je l'ai installé, je ne peux pas juste intégrer de référence dans mon projet VB.NET et ne pas avoir besoin de redistribuer l'AccessDatabaseEngine.exe ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juin 2017
    Messages : 19
    Points : 6
    Points
    6
    Par défaut Salut tout le monde
    j'ai le meme probleme, j'ai developper aussi une base de donnee access lier en vb.net.
    le probleme est que quant s'instale mon application dans l'ordinateur client il m'affiche une erreur
    sois disant erreur lier a la base de donnee.
    pouvez vous m'aidez svp.
    voici ma chaine de connexion
    Nom : Capture.JPG
Affichages : 2010
Taille : 46,8 Ko

Discussions similaires

  1. Problème de connexion ODBC Ms Access
    Par Klemsy78 dans le forum Bases de données
    Réponses: 3
    Dernier message: 30/09/2009, 17h33
  2. Problème de connexion delphi7 Ms Access via ODBC
    Par Klemsy78 dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/09/2009, 15h26
  3. Problème de connexion depuis .NET
    Par gstrit dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/06/2009, 20h46
  4. Problème de compatibilité VB.net Access 97
    Par iandeleury dans le forum VB.NET
    Réponses: 3
    Dernier message: 28/01/2008, 21h34
  5. Problème de connexion à une base access
    Par caco19 dans le forum ASP
    Réponses: 4
    Dernier message: 13/08/2004, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo