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 :

application qui ne marche pas sur ordi 64 bits


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Par défaut application qui ne marche pas sur ordi 64 bits
    Bonjour

    Je débute en programmation et j'ai créé une application en vb.net via vb express 2008 sur un ordi en 32 bits.
    Dans le code source de mon programme, je fais appel à une base de données Access via Microsoft Jet OleDb 4.0 (dans la connexion).

    Le problème c'est que mon programme ne fonctionne pas sur un ordi 64 bits.
    Lors de la connexion à la base de données, il apparait un message d'erreur me disant que "Microsoft Jet OleDb 4.0 provider" n'est pas dispo.

    En faisant des recherches, on m'a expliqué que ce provider n'existe pas sur les ordi 64 bits.
    J'ai tenté de modifier le code xml de mon vbproj, en vain.

    Y'a-t-il quelqu'un qui pourrait m'aider svp?
    Existe-t-il un autre moyen d'acceder à Access sans passer par ce fameux provider?

    D'avance un grand merci à tous!!!!

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    1) Access n'est pas recommandé pour une base locale. SQL server compact est la solution proposée par Microsoft.

    2) Ton appli étant compilée avec les options par défaut (je suppose), elle s'exécute alors en 64 bits sur un OS 64 bits. Et elle cherche donc un driver Access 64 bits.
    Il faut que tu forces la compilation en 32 bits (dans les propriétés du projet) afin qu'elle utilise un driver 32 bits.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    je déteste access, mais je n'irais pas jusqu'à dire qu'il ne faut pas l'utiliser
    après tout il exite encore avec office 2010, signe microsoft qui a voulu l'abandonner depuis des années se rend compte qu'il y a encore du monde qui l'utiliser
    j'imagine que c'est sur un petit projet, si tu es amenés à faire de plus grand projet (multi utilisateur) sql server express sera conseillé, et dans ce cas autant faire les petits projets avec sql server compact pour se familiariser avec le produit

    sinon pour access en x64, la question es posée 2 ou 3 fois par semaine ici même ... dont une fois quelques topics en dessous le tiens, certes avec un titre moins explicite que le tiens
    pour forcer en x86 il faut aller dans propriétés du projet / compiler / options avancées de compilation
    remplacer AnyCpu par x86
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    sinon pour access en x64, la question es posée 2 ou 3 fois par semaine ici même ... dont une fois quelques topics en dessous le tiens, certes avec un titre moins explicite que le tiens
    pour forcer en x86 il faut aller dans propriétés du projet / compiler / options avancées de compilation
    remplacer AnyCpu par x86
    Salut,

    j'ai lu environ une dizaine de pages de post, n'ayant pas trouvé un semblant de réponse, je me suis permis d'en créer un.
    Ce forum est nouveau pour moi, je ne sais pas encore vraiment bien où trouver les choses.

    J'ai déjà essayer de modifier les options avancées de compilations, en vain!
    En effet je ne trouve pas l'option proposée.
    C'est pour cela qu'on m'a conseillé de modifier directement dans le code xml en ajoutant la ligne suivante: <PlateformTarget>x86</PlateformTarget>
    Ce que j'ai fait mais sans résultat.

    Si j'avais créé le code source sur un ordi 64 bits, comment aurais-je dû faire pour ouvrir une connexion vers ma BD? (Provider=" ...")

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Dans l'onglet compilation tu n'as pas un bouton propriétés avancées ou un truc dans le genre ?


    Les composants Microsoft Jet Database Engine 4.0 sont dépréciés (c'est pour ça qu'il n'y aura jamais de version 64 bits). MS demande d'utiliser plutôt les Drivers Office systeme 2007 ou d'utiliser SQL Server Express ou Compact.

    Plus d'infos:
    http://blogs.msdn.com/b/psssql/archi...on-of-jet.aspx
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    pas de soucis pour le nouveau topic, surtout que la fonction de recherche du forum relève du parcours du combattant

    http://msdn.microsoft.com/en-gb/vstudio/aa718685.aspx
    le point 1.44 est la solution à ton problème, avec un descriptif pour la version express (qui n'a pas le menu qui permet de définir la plateforme cible)

    et sinon ce n'est pas un problème de poste de développement, un programme compilé en anycpu exécuté sur sur un os 64bits ne peut pas utiliser un dll en 32 bits, et la dll de jet est en 32 bits
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Vous êtes quand même dur avec ce pauvre Access...

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Par défaut
    Citation Envoyé par Pol63 Voir le message

    http://msdn.microsoft.com/en-gb/vstudio/aa718685.aspx
    le point 1.44 est la solution à ton problème, avec un descriptif pour la version express (qui n'a pas le menu qui permet de définir la plateforme cible)

    et sinon ce n'est pas un problème de poste de développement, un programme compilé en anycpu exécuté sur sur un os 64bits ne peut pas utiliser un dll en 32 bits, et la dll de jet est en 32 bits
    Ok je teste tout ça. et je vous tiens au courant .

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

Discussions similaires

  1. Réponses: 25
    Dernier message: 16/02/2007, 15h37
  2. Réponses: 14
    Dernier message: 27/08/2006, 19h47
  3. DATEDIFF() qui ne marche pas sur une version 5.0.xx
    Par vallica dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/05/2006, 17h44
  4. Réponses: 3
    Dernier message: 08/09/2003, 15h06
  5. Réponses: 9
    Dernier message: 07/05/2003, 12h57

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