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 :

Attacher une BdD Sqlite à un projet


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Par défaut Attacher une BdD Sqlite à un projet
    Bonjour,

    J'ai migré une bdd Access vers une bdD sqlite.
    Pour ce faire, j'ai utilisé la méthode suggérée ici avec l'outil SQLite Developer

    J'ai donc un fichier sans extension issu de ce transfert. Appelons-le Bdd_sqlite

    Maintenant, je cherche à ajouter Bdd_sqlite à mon projet VB.NET sous VS2010 Express.
    J'ai installé Sqlite et copié la DLL system.Data.SQLite.dll dans mon répertoire Bin/Debug

    Comment fait-on, dans le projet pour lier le projet à cette BdD ?
    J'ai essayé dans l'explorateur de bdD mais on ne me propose comme source possible que :
    - base access
    - fichier de bdD MS SQL Server
    - MS SQL Server Compact 3.5

    J'ai dû rater une manip à faire.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    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 198
    Par défaut
    une bdd sqllite ne peut pas être utilisée avec les assistants de visual studio

    les assistants ne font que taper du code à ta place (et pas le meilleur en général)
    tu peux donc utiliser ta base de données, mais par code (voir ado.net, ou si tu avais déjà utilisé access en intégré tu peux regarder le code généré dans les fichiers .designer.vb)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Par défaut
    Cela veut dire qu'il faut aussi que je définisse les relations entre tables par le code ?

    En fait je m'aperçois que je n'arrive déjà pas à faire accepter ma référence system.data.sqlite.dll

    Voici comment j'ai procédé.
    - J'ai installé le fichier sqlite depuis le site http://system.data.sqlite.org/index....downloads.wiki

    - j'ai choisi ce fichier car je suis en Win7 64 bits : sqlite-netFx35-setup-bundle-x64-2008-1.0.88.0.exe

    - j'ai installé puis copié la DLL située dans C:\Program Files\System.Data.SQLite\2010\bin et collé dans le répertoire Bin/debug de mon projet VS2010.

    - dans mon projet, j'ai ajouté un référence/parcourir... où j'ai été cherché la DLL précédemment copiée.

    - en début de mon module form1.vb, j'ai écrit "imports System.Data.Sqlite" texte qui a été accepté.

    Dès que je lance le code en mode debug, je reçois un message :
    Une erreur s'est produite lors de la création du formulaire. Pour plus d'informations, consultez Exception.InnerException. L'erreur est : Impossible de charger le fichier ou l'assembly 'System.Data.SQLite, Version=1.0.88.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' ou une de ses dépendances. Tentative de chargement d’un programme de format incorrect.
    Qu'ai-je oublié de faire ?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    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 198
    Par défaut
    la dll que tu as copié est la dll 32bits, qui ne fonctionne pas en 64

    normalement il y a un program files pour tout ce qui est x86 et un autre pour x64


    pour ce qui est des relations entre les tables, visual studio n'est pas vraiment un éditeur de base de données, on peut gratter un peu sur access avec, mais normalement une base de données a un éditeur propre permettant de faire la structure des tables


    sinon il y a aussi sql server CE qui est une base fichier comme access et sqllite, et qui s'intègre bien à visual studio
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Par défaut
    la dll que tu as copié est la dll 32bits, qui ne fonctionne pas en 64
    Je ne comprends pas. Le nom du fichier que j'ai utilisé se trouve bien dans la rubrique 64 bits et son nom le confirme. A quoi vois-tu qu'il s'agit d'une DLL 32 bits ?

    EDIT : d'ailleurs je me suis trompé, c'est le fichier sqlite-netFx40-setup-bundle-x64-2010-1.0.88.0.exe que j'ai utilisé (pour Framework 4.0)

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    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 198
    Par défaut
    "Tentative de chargement d’un programme de format incorrect"

    en général ce message apparait quand un programme 64 essaye de charger une dll 32 ou l'inverse

    par défaut un projet .net est paramétré sur AnyCpu (au moins sur vs2008), ce qui veut dire que le programme démarre en x64 sur un os 64 et en x86 sur un os 32bits
    on peut forcer la compilation en x32 ou x64 à la place d'AnyCpu
    (ce qui voudrait dire d'ailleurs qu'il faille livrer les 2 dll et que ca charge la bonne ^^)

    tu peux forcer en x86 pour voir, si ca démarre c'est que c'est bien une dll x86
    sinon j'ai cru voir un vs qui avait x86 par défaut au lieu d'AnyCpu, auquel cas il ne peut pas charger la dll x64 (ca reste une bonne intention vu qu'il est impossible de faire du debug en x64)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre éclairé
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Par défaut
    Voir copie d'écran ci-jointe.
    C'est pas là mon pb (le champ entouré en rouge) ?
    Il est question de x86. Mais la liste déroulante ne me propose pas d'autre choix.
    Cela veut-il dire que je dois travailler en 32 bits (et donc télécharger la DLL 32 bits au lieu de 64 même si mon ordi tourne ne 64 bits) ?
    Images attachées Images attachées  

  8. #8
    Membre éclairé
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Par défaut
    C'était bien ça l'explication.
    J'ai réussi à rajouter un item dans la liste déroulante en allant dans la barre d'outils où il y a un autre champ avec x86. En cliquant sur la liste déroulante on trouve "Gestionnaire de configuration...". De là, on peut rajouter "Any CPU"

    Merci pour ton aide !

    Pour l'interface, j'ai opté pour Sqlite parce que je viens de SQL Server compact et un autre topic m'a convaincu que SQLite répondrait mieux à mon besoin. En revanche, je note en effet que ça va être moins convivial. Je vais creuser pour voir si je peux quand même m'en sortir avec mon petit niveau.

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

Discussions similaires

  1. Récupérer des images à partir d'une BDD SQLite
    Par Henry22 dans le forum Android
    Réponses: 2
    Dernier message: 20/06/2011, 13h36
  2. Importer un classeur XLS dans une BDD sqlite ?
    Par _Fred_ dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 16/12/2009, 20h56
  3. Comment synchroniser une BDD MySQL avec une BDD SQLite?
    Par newjc dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 29/07/2009, 12h22
  4. SQL SERVER 2005 Attacher une BDD
    Par mickelo dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 20/02/2008, 10h22

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