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

VB.NET Discussion :

Problème de connexion base de données Access 2010


Sujet :

VB.NET

  1. #1
    Invité
    Invité(e)
    Par défaut Problème de connexion base de données Access 2010
    Bonjour à toutes et tous,

    J'ai besoin de me connecter à une base de données Access 2010 grâce au fournisseur Microsoft.ACE.OLEDB.12.0. Par programmation, l'instanciation de la classe OleDbConnection ne pose aucun problème avec le code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim connexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=d:\baseTest.accdb")
    Par contre, si j'utilise le contrôle OleDbConnection, je reçois systématiquement un message d'erreur lors du test de la connexion :
    Le fournisseur Microsoft.ACE.OLEDB.12.0 n'est pas inscrit sur la machine locale
    Il faut savoir que je travaille sous Windows 7 x64, et d'après mes recherches ce message s'affiche si on ne choisit pas le processeur de destination comme étant x64 dans le compilateur. Dans mon cas j'ai bien choisi x64.

    Mais pourquoi donc ça fonctionne parfaitement par programmation et pas du tout via le contrôle ? Avez-vous une idée ?

    Merci d'avance pour vos réponses !

    webrider

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Il me semble que le provider n'est pas disponible en 64bits

  3. #3
    Invité
    Invité(e)
    Par défaut
    A partir de la version 2010 il existe en version x64 :

    http://www.microsoft.com/downloads/f...displaylang=fr

    J'ai téléchargé et installé ce package mais l'erreur subsiste.

    webrider

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    J'ai aussi en mémoire que le provider Access 64 bits n'existait pas (c'est vrai que c'était avant le 2010...)

    Pistes possibles:

    - La version 12.0 n'est pas la bonne (pas celui de 2010). C'est con mais faut bien commencer quelque part!

    - Changer le ciblage en 32 bits, au cas où ça fonctionne faut pas se casser la nenette plus loin à moins que le 64 bits apporte vraiement une valeur ajoutée. Ce qui est rarement le cas car il y a une nuance entre supporter le 64 bit et l'utiliser à bon escient. Et si tu es à un niveau d'optimisation aussi poussé probablement que tu devrais remettre en cause le choix de la base de donnée ! (Bien que je n'ai rien contre Access)

    - Le provider est mal installé sur ta machine.

    Sinon :

    Testé un projet bidon en utilisant la génération automatique de la connexion par Visualstudio (plus particulièrement la chaîne de connexion générée) et s'inspiré du résulat (si ce dernier fonctionne of course)

    Autrement plus globalement si tu es "au début" d'un projet, je te recommande d'utiliser SQL Server plutôt que Access. Si ce dernier est exigé, l'utilisation d'une application Access devrait être étudiée!

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 151
    Points : 254
    Points
    254
    Par défaut
    Bonjour,

    Personnellement, j'utilise le connecteur Jet OleDb 4 au lieu de ACE avec une base de données Access sous Win7 x64 avec VB2010 Express. Je n'ai eu rien besoin d'installer en supplément, et ça fonctionne .

    Je ne connais pas la différence entre nos 2 connecteurs, il est peut être requis pour toi d'utiliser ACE. mais si ce n'est pas le cas, tu peux essayer avec Jet.

    @+

    Mat

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par matll Voir le message
    Je ne connais pas la différence entre nos 2 connecteurs, il est peut être requis pour toi d'utiliser ACE. mais si ce n'est pas le cas, tu peux essayer avec Jet.
    Le connecteur Jet est utilisé pour les versions antérieures à Access 2007. Dans mon cas je dois utiliser ACE ou enregistrer ma base Access dans un format plus ancien.

    Ici j'utilise Access pour créer une petit appli pour un ami, l'installation d'un serveur SQL n'est pas indiquée (seulement quelques enregistrements dans la base). Et puis je suis comme je suis : même si c'est inutile j'aime bien avoir le dernier mot sur la machine ! Il y a une erreur et j'aimerais bien savoir pourquoi...

    De plus, j'ai aussi l'intention d'utiliser ce provider pour lire des fichiers Excel 2010. S'il plante sur Access j'aurai le même souci avec Excel.

    Ce qui m'inquiète aussi c'est le fait que ça fonctionne par programmation. Le contrôle n'utilise-t-il pas le même objet OleDbConnection que par programmation ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Finalement j'ai trouvé la solution, il faut obligatoirement compiler pour la plate-forme concernée (Any CPU ne fonctionne donc pas, choisir x64 pour les version 64 bits de Windows).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/08/2007, 14h55
  2. [connexion base de données access sur un serveur]
    Par t1marlartiste dans le forum Access
    Réponses: 1
    Dernier message: 09/07/2007, 17h23
  3. [c#, WinForms]Problème de connexion à base de données
    Par Filippo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/05/2007, 09h47
  4. Réponses: 11
    Dernier message: 22/11/2006, 07h31
  5. erreur connexion base de données access
    Par Adren dans le forum ASP
    Réponses: 17
    Dernier message: 22/06/2006, 08h34

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