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 :

Probleme connexion base de donnée "Fantome"


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut Probleme connexion base de donnée "Fantome"
    Bonjour a tous,
    Je travail sur une application qui se connecte sur une base de données SQLExpress 2005 fichier (base1.mdf) avec la chaine de connexion suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Data Source=.\SQLEXPRESS;AttachDbFileName='" + cheminDataBase + "';Integrated Security=True;database=" + nomDataBase + ";Connect Timeout=30;User Instance=True"
    Où chemindatabase est le chemin de la base de donnée (avec le mdf inclus) et nomdatabase reprécise le nom de la base (base1.mdf)

    Tout fonctionnait très bien jusqu'à ce que je déplace les fichiers mdf/ldf de ma base de données dans un autre répertoire. Là le message d'erreur suivant apparaît:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    La base de données "<ANCIEN_CHEMIN>\base1.mdf" 
    existe déjà.Impossible de joindre le fichier "<NOUVEAU_CHEMIN>base1.mdf" 
    en tant que base de données "base1.mdf".
    Le plus drôle (si j'ose dire) c'est que tout fonctionne avec cette chaine de connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Data Source=.\SQLEXPRESS;AttachDbFilename='" + cheminDataBase + "';Integrated Security=True;Connect Timeout=30;User Instance=True")
    Comme si SQL avait mappé le nom base1.mdf à un fichier de base de donnée et qu'il ne voulait plus le modifier.
    Pour info je reproduis cette erreur sur 2 machines différentes. Et le problèmes c'est que je travail avec 4 autres personnes qui ont développé des modules implémentant la chaine de connexion qui bug chez moi( et évidemment pas celle qui marche ).

    Quelqu'un saurait-il m'expliquer ce qu'il se passe? Merci de votre aide

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut
    J'ai trouvé mon erreur, alors pour ceux qui seront comme moi:
    En fait en travaillant sur un Fichier SQL (et non pas sur un serveur) et en précisant database = dans la chaine de connexion, on crée un lien entre le nom de la base et le fichier MDF.
    Ceci ne pose pas de problème sauf si l'on déplace les fichier mdf/ldf sans changer le database=. Dans ce cas SQLExpress refuse de mettre à jour le lien nom_de_la_base/chemin_du_fichier et génère une erreur.

    L'astuce c'est d'utiliser un utilitaire Microsoft appelé SSEutil.exe pour détacher les nom de la base du chemin du mdf. (Commande !detach = nom_base)

    Tout est expliqué là-bas : http://www.microsoft.com/france/msdn...puserinst.mspx

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

Discussions similaires

  1. probleme connexion base de donnée sous VS
    Par ihebiheb dans le forum Visual Studio
    Réponses: 0
    Dernier message: 29/09/2011, 19h01
  2. probleme connexion base de donnée
    Par pascal007 dans le forum Servlets/JSP
    Réponses: 24
    Dernier message: 12/04/2007, 01h16
  3. Probleme connexion base de données (SQL Server 2005 Express)
    Par GuileIzback dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 13/11/2006, 02h46

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