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 :

SQLite & C# : Problème à la compilation avec SQLite.Interop.dll


Sujet :

Accès aux données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Points : 8
    Points
    8
    Par défaut SQLite & C# : Problème à la compilation avec SQLite.Interop.dll
    Bonjour,


    J'essaie de faire fonctionner SQLite sous VS2010 dans une application WPF.
    Je l'ai déjà utilisé en C++ sans aucun souci, mais là il s'avère que je ne m'en sors pas.


    Donc j'ai téléchargé les "Precompiled Binaries for 64-bit Windows (.NET Framework 4.0)" sur le site officiel, et je rajoute juste dans mon projet la référence à System.Data.SQLite.dll
    Malheureusement, j'obtiens l'erreur :
    Unable to load DLL 'SQLite.Interop.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

    En cherchant pas mal sur Internet j'ai vu que plusieurs personnes avaient réglé ce problème en rajoutant SQLite.Interop.dll dans le dossier de l'exécutable, soit en le copiant directement, soit en l'ajoutant dans le projet vie Ajouter->Element existant en mettant au fichier la propriété "Copier dans le répertoire de sortie : Toujours Copier".
    Cette fois-ci, j'obtiens l'erreur suivante :
    An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B).

    Et là j'ai eu beaucoup plus de mal à trouver des solutions sur Internet. Une d'elles était d'utiliser le Setup du site officiel de SQLite, qui est censé installer des Runtime et quelques librairies manquantes. Malheureusement, ce Setup ne marche pas sur mon ordinateur car soit il installe tous les composants, soit il n'en installe aucun (et j'ai déjà une partie des composants installés je crois).


    J'ai aussi vu qu'il était possible de pallier à ce souci en modifiant des choses dans C:\Windows\assembly mais je ne m'y connais pas assez pour tenter des trucs au hasard dans ce genre de dossiers.


    Quelqu'un a-t-il déjà eu affaire à ce souci et a réussi à le résoudre ? Ou est-ce que quelqu'un aurait une piste ?


    Merci d'avance !

    Naoris

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 269
    Points : 460
    Points
    460
    Par défaut
    Bonjour,

    Il vrai que la version .NET de SQLite à un peu de mal à s’intégrer dans Visual Studio 2010. Neanmoins je n'ai jamais eu de soucis à l'utiliser.

    Vu le soucis, as tu essayé avec "Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.0)"?
    Es-tu sûre que executable .Net tourne en 64Bit?
    As-tu bien référencé le connecteur SQLite dans le app.config?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Rebonjour,

    J'ai testé avec les librairies Statically-Linked et ça n'a pas fonctionné non plus.

    Merci pour l'info sur App.config, j'avais oublié de le mettre en place. Malheureusement, ça n'a rien résolu :-(

    Par contre, j'ai un petit doute sur le fait que j'utilise Microsoft Visual C# 2010 Express et que je ne trouve pas si le compilateur compile en 32-bit ou 64-bit.
    Je vais essayer de réinstaller VS Ultimate 64-bit, ça résoudra peut-être le souci.

    Je voust tiens au courant.
    Merci encore !

    Naoris

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Bon, je viens de réinstaller un VS2010 Ultimate 64-bit et ça n'a rien changé du tout :s

    Je commence à sérieusement me demander si je ne devrais pas bosser avec des DataSet, au moins c'est natif et ça marche (mais malheureusement je trouve ça moins puissant).

    Quelqu'un aurait une autre idée ?

    Naoris

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 269
    Points : 460
    Points
    460
    Par défaut
    Normalement, si la plateforme de sortie de ton projet est "x64" alors ça tourne en 64bit. Pour "AnyCPU" ça ne tourne en 64Bit que si la machine hote utilise un OS 64bit.

    Je vais refaire une installe avec la dernière build ce WE, des fois que ca serait cette derniere qui ai un soucis.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 269
    Points : 460
    Points
    460
    Par défaut
    Je crois que j'ai compris pourquoi tu as des soucis.
    Pour chaque "Package" il existe deux version, une "bundle" et une "simple".
    Personnellement j'utilise toujours la version "bundle" qui n'utilise pas "SQLite.Interop.dll".
    Cette DLL est une DLL native, il suffit qu'elle soit généré pour une environnement qui n'est pas le tiens et c'est la catastrophe.
    En plus globalement les performance sont du même ordre, les écarts semblent plus imputable à l'accès au fichier db qu'autre chose.

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Naoris Voir le message
    Je commence à sérieusement me demander si je ne devrais pas bosser avec des DataSet, au moins c'est natif et ça marche (mais malheureusement je trouve ça moins puissant).
    Accessoirement, on ne voit pas du tout le rapport entre utilisation des DataSet (qui est un choix de technique de développement) et choix du SGBD.

    De toute manière, SQLITE ne gérant pas l'intégrité référentielle (à moins que cela ait changé), je trouve que l'utiliser comme base de stockage pour une appli est un choix un peu bizarre. Comme stockage de travail pour des traitements locaux pourquoi pas, mais comme système de persistence des données d'une appli, c'est osé.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

Discussions similaires

  1. [XE8]Probléme Application Android avec SQlite
    Par adelcrb dans le forum Bases de données
    Réponses: 17
    Dernier message: 24/06/2015, 15h51
  2. Problème requête sélection avec SQLite
    Par janyoura dans le forum Android
    Réponses: 8
    Dernier message: 12/12/2012, 23h04
  3. Problème de suppression avec sqlite dans C#
    Par Umlist dans le forum SQLite
    Réponses: 1
    Dernier message: 21/04/2011, 00h44
  4. Problème de compilation avec Dev-C++
    Par Rouliann dans le forum Dev-C++
    Réponses: 14
    Dernier message: 14/06/2004, 18h44
  5. Réponses: 1
    Dernier message: 29/10/2003, 12h16

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