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

Windows Forms Discussion :

[VB .Net]OleDBConnection - connexion universelle ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut [VB .Net]OleDBConnection - connexion universelle ?
    Bonjour à tous, je suis nouveau sur ce forum que je trouve superbe.

    Je viens pour un Problème de Connexion d'un DataGrid à une base de données Access 2000. J'ai déjà effectuer des modules de connexion à cette même base de donénes sauf que ce module là a été généré par VB STUDIO 2003 lorsque j'ai crée mon OleDbAdaptater. Le problème c'est que le chemin pour la connexion est un chemin Absolu que voici :

    'OleDbConnection1

    Me.OleDbConnection1.ConnectionString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database L" & _
    "ocking Mode=1;Data Source=""F:\~oO Documents Oo~\~oO Programmation Oo~\APs\AP - C" & _
    "PGE\bin\CPGE.mdb
    "";Jet OLEDB:Engine Type=5;Provider=""Microsoft.Jet.OLEDB.4.0"";Jet" & _
    " OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended" & _
    " Properties=;Mode=Share Deny None;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Cre" & _
    "ate System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB" & _
    ":Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Global Bulk Transa" & _
    "ctions=1"
    Or pour qu'une connection soit universelle il ne faut pas utiliser ce genre de chemin donc j'utilise Application.Path qui récupère le répertoire d'éxécution du .exe généré. Ayant mis ma base de données dans ce même dossier cela devrait fonctionner malheureusement il me génère une erreur me disant qu'il manque des paramètres dans la requête de Connexion.

    Je précise que je n'ai changé que la ligne en rouge par ceci :
    + Application.Path + ""\CPGE.mdb""
    C'est alors que j'ai découvert un autre problème c'est que VB Studio a remplacé lors de l'éxécution le Application.Path par le chemin de l'exécutable de VB soit C:\Program Files\... etc donc je voudrais savoir si un moyen existait pour rendre ma connexion universelle.

    Merci d'avance pour les réponses !

  2. #2
    Membre confirmé Avatar de souaddemaroc
    Inscrit en
    Novembre 2005
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 194
    Par défaut
    mais pourquoi tous ces blabla vous allez tout simplemnt faire ceçi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    dim cn as new oledbconnection("provider=microsoft.jet.oledb.4.0;data 
     
    source='votrebase.mdb'")
    sachant que votre base de donnée soit déplacer vers le dossier Bin de votre application et si vous voulez que votre variable cn soit globale vous allez le déclarer dans le module

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut
    Je te remercie d'avoir répondu à ma demande mais ta solution ne fonctionne pas !

    En fait, je ne l'ai pas précisé ce qui va peut être changé ton point de vue sur mon problème. Le code que j'ai exposé dans mon premier post est un bout de code généré.

    Donc toujours est - il que j'ai essayé et cela n'a pas fonctionné. Cela a généré une erreur d'exception. Donc étant donné que cela fonctionnait avant la modification cela vient donc de la connexion.

    J'espère que vous arriverez à m'aider car j'en ai vraiment besoin

  4. #4
    Membre confirmé Avatar de souaddemaroc
    Inscrit en
    Novembre 2005
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 194
    Par défaut
    salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Public cn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data 
     
    source=mabase.mdb'")
    
    
    Je travail tjs avec ce bout de code et il fonctionne tres bien

    NB: Vous devez déplacer la base de donnée dans le dossier Bin de votre application

    Vous travail sous vb.net et access n'est ce pas ??

  5. #5
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Par défaut
    pour access je préfere passer en ODBC comme suit je en vais pas me soucier de l'emplacement de la base de données. car l'utilisateur final sait bien ou se trouve sa base access et donc n'à que la mettre en ODBC. sinon la mettre dans un dossier MaBase et pas dans le bin pour une bonne lisibilité et séparation des rôles. ainsi utiliser le Application.Path doit bien marcher. pour remédier à cela tu n'as qu'u débeuguer ton code pour s'assurer que le chemin de la base et bien celui dans le code.
    Bonne Chance
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut
    souaddemaroc avait raison mais je ne comprenais pas où il fallait l'écrire.

    En fait il faut créer un module dans le projet et y mettre la ligne de connection que vous souhaitez. Dans mon cas cela donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public OConnexion As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" + Application.StartupPath + "\CPGE.mdb;")
    Voilà ! Encore merci à toi souaddemaroc

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

Discussions similaires

  1. [Oracle net / 10g] connexion impossible depuis sqlplus
    Par rvfranck dans le forum Connexions aux bases de données
    Réponses: 10
    Dernier message: 04/01/2008, 09h54
  2. Réponses: 1
    Dernier message: 14/06/2007, 15h47
  3. .Net et connexion à SGBD Oracle
    Par rudhf dans le forum C#
    Réponses: 9
    Dernier message: 05/05/2007, 18h57
  4. [VB.Net]"La connexion est déjà Open (état=Open)."
    Par dankes dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/09/2005, 14h45
  5. [SQL*Net] Pb connexion Discoverer
    Par Jean-Matt dans le forum Oracle
    Réponses: 3
    Dernier message: 11/05/2005, 16h04

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