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 :

[vb 2008 express] Interroger base mysql en déporté (libmysql à la place de odbc ?)


Sujet :

VB.NET

  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Par défaut [vb 2008 express] Interroger base mysql en déporté (libmysql à la place de odbc ?)
    Bonjour,

    Je suis en train de développer un programme avec VB 2008 express. J'ai un module qui se connect à une base Mysql sur internet en utilisant Mysql-connector. Mais lorsque je mets mon programme sur un autre PC ça ne marche pas car Mysql-connector n'est pas installé. Vu que mon prgramme sera installé sur des clefs USB, je ne peux pas utiliser cette méthode de connection. Je me demandais alors si il y avait possibilité de compiler mon programme pour qu'il puisse gérer tout seul la connection Mysql ?

    Après quelques recherches je pense qu'il faut utiliser la méthode de connection avec "libmysql.dll" (je peux mettre ce fichier sur mes clefs USB, ca ne pose pas de problème, surtout qu'il y aura déjà un easyphp sur les clefs USB). Mais il y a très peu de documentation pour l'utilser avec VB2008 (peut-être est-ce une méthode trop ancienne ?).

    Je pense que je ne suis pas le seul à être confronté à ce problème. Quelqu'un aurait-il eu ces mêmes contraintes ?

    Merci d'avance.
    ;-)

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu peux peut-être déployer le connecteur MySQL avec ton appli (dans le même répertoire que l'exe), et configurer le provider dans le App.config
    Enfin c'est juste une idée, je suis pas sûr que ce soit faisable...

  3. #3
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Par défaut
    Merci pour ta réponse tomlev, mais si le programme est utilisé sur un PC qui n'a pas les droit d'accès en installation, ca va poser un porblème. j'ai continué mes recherche, et la solution serait d'utiliser l'API libmysql.dll. Le problème c'est que sur VB 2008 express je ne peut pas importer cette dll (vérifier que l'assembly est valide ou qu'il s'agit bien d'un composant COM)

    A moins que je ne fasse pas la bonne manipulation (Projet => ajouter une référence => Parcourir => libmysql.dll)

    C'est étonnant qu'avec VB 2008 on ne puisse pas utiliser cet api, et encore plus quel n'y soit pas d'origine ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Justement, avec la solution que je propose aucune installation n'est nécessaire, il faut juste que tu mettes la DLL du connecteur MySQL avec ton programme. Mais encore une fois, je ne suis pas sûr que ça fonctionne...

    Sinon, pour utiliser directement l'API, c'est normal que tu ne puisses pas l'importer directement :ce n'est pas un assembly .NET ou un composant COM, mais une DLL native. Pour l'utiliser il faut que tu passes par P/Invoke.
    cf. ce tutoriel

  5. #5
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Par défaut
    Merci pour ton post tomlev.

    J'ai suivie tes conseil et je me suis pencher sur les publications/compilation dans VB (je découvre cette partie, jusqu'à maintenant je ne faisait que des débugage simple, avec le bouton vert ;-) ).

    J'ai remarqué qu'en faisant une publication VB me génère un dossier "release" avec un sous dossier app.publish\Application Files et à 'intérieur "MySql.Data.dll.deploy". C'est bon signe ca !

    Mais quand je lance mon programme, il me fait une installation du programme (c'est pas encore très claire pour moi les publication, il faut que je me documente dessus).

    Alors j'ai pensé à ton premier post et j'ai seulement prix mon executable (dans le dossier "bin\Debug") où j'ai mis "MySql.Data.dll.deploy" renommé en "MySql.Data.dll" dedans. Et là, ca marche nickel !
    ;-)

    J'ai essaye sur 2 autre PC et ça fonctionne. Enfin, sauf sur un où il manque le framework 2.0. Je pense que même si mon programme est pas très complexe, il faut obligatoirement le framework 2.0. Du coup j'ai un vilain message d'erreur en anglais. Il faut que je trouve une solution pour qu'il y ait un message au moins en français pour les utilsateur du programme.

    Si quelqu'un a un bon tutos sur comment publier un programme dans les règles de l'art (dans mon cas sans une installation, mais avec la possibilité de demandé l'installatino automatique du framework 2.0 si il est manquant) je suis prenneur.

    En tout cas merci pour tes conseils tomlev, car je n'aurais jamais pensé à mettre la dll à côté de l'executable.

    Merci.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    euh... j'ai pas parlé de publication il me semble
    quand je disais "déployer", c'était plutôt dans le sens de "distribuer"

    sinon, "publier un programme dans les règles de l'art", normalement ça se fait par une installation... si tu veux faire un programme qui n'a pas besoin de s'installer, tu es souvent obligé de bidouiller...

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

Discussions similaires

  1. [MySQL] interrogation base mysql et requete soucis avec row
    Par clem62173 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2010, 19h03
  2. Interroger une base MySQL en javascript
    Par gpsevasion dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/07/2008, 14h35
  3. [MySQL] Connexion avec VB.net 2008 express
    Par afrodje dans le forum VB.NET
    Réponses: 7
    Dernier message: 06/12/2007, 12h03
  4. [MySQL] Vues XML d'une base MySQL , et interrogation Xpath
    Par maiguennou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/08/2006, 16h34
  5. Interroger une base MySQL
    Par Nicolas69 dans le forum MFC
    Réponses: 2
    Dernier message: 25/04/2005, 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