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

MS SQL Server Discussion :

LocalDB : se connecter à une base déjà ouverte


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut LocalDB : se connecter à une base déjà ouverte
    Bonjour,

    J'ai un programme web qui tourne avec IIS Express + LocalDB.

    Je n'ai pas la main sur son code.

    Je souhaite l'enrichir en ajoutant des pages ASPX qui vont faire des requêtes SQL dans la base de données.

    Seulement, lorsque je tente de me connecter à la base, je me retrouve avec cette erreur :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ERROR [28000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'DESKTOP-AMHHFSP\Sylvain Devidal'.
    ERROR [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot open database "C:\ProgramData\update.crm_webofflinedb\offline.mdf " requested by the login. The login failed.
    ERROR [01S00] [Microsoft][SQL Server Native Client 11.0]Invalid connection string attribute
    ERROR [28000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'DESKTOP-AMHHFSP\Sylvain Devidal'.
    ERROR [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot open database "C:\ProgramData\update.crm_webofflinedb\offline.mdf " requested by the login. The login failed.
    ERROR [01S00] [Microsoft][SQL Server Native Client 11.0]Invalid connection string attribute

    Je tente d'utiliser la même chaîne de connexion que le logiciel (chaîne ODBC) :
    Driver=SQL Server Native Client 11.0;Server=(LocalDB)\mssqllocaldb;Integrated Security=true;Database=C:\ProgramData\update.crm_webofflinedb\offline.mdf

    Si je regarde dans la liste des processus, localdb tourne avec mon identité.
    La ligne de commande exécutée par le logiciel est la suivante :
    C:\Program Files\Microsoft SQL Server\120\LocalDB\Binn\\sqlservr.exe" -c -SMSSQL12E.LOCALDB -sLOCALDB#949D22E1 -d"C:\Users\Sylvain Devidal\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\mssqllocaldb\master.mdf" -l"C:\Users\Sylvain Devidal\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\mssqllocaldb\mastlog.ldf" -e"C:\Users\Sylvain Devidal\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\mssqllocaldb\error.log

    Une idée de comment faire pour que je puisse me connecter pendant que l'application tourne déjà ?

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    Je ne sais si cela peut t'aider, mais voilà ci-dessous pour info la chaine de connexion que j'ai pu établir depuis Visual Studio 2015 sur l'instance localDb par défaut (localdb)\MSSQLLocalDB et la base de données MA_BASE_DE_DONNEES de cette même instance (localdb)\MSSQLLocalDB
    Connection sring :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=MA_BASE_DE_DONNEES;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
    Dans cet exemple MA_BASE_DE_DONNEES représente le nom de la base de données

    PS : Je n'ai jamais testé la connexion ODBC à mes différentes instances lolcaldb (hé oui j'en ai plusieurs instances localdb !).

    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 11
    Par défaut
    Bonjour,

    ta deuxième connexion doit utiliser le nom de l'instance créée, et non pas (localdb)\mssqllocaldb. il semblerait que ton instance soit LOCALDB#949D22E1

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    Pour connaitre le "Nom du canal de l'instance localdb", notamment pour les applications héritées (généralement celles qui donnent aussi des irritations !), il faut lancer dans une fenêtre de commande DOS, l'exemple de la commande ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    C:\Program Files\Microsoft SQL Server\120\Tools\Binn>SqlLocalDB.exe info "MSSQLLocalDB"
    Nom :               MSSQLLocalDB
    Version :            12.0.2000.8
    Nom partagé :
    Propriétaire :               MOI-MEME ! 
    Création automatique :        Oui
    État :              En cours d''exécution
    Dernière heure de début :    11/03/2016 14:11:09
    Nom de canal de l''instance : np:\\.\pipe\LOCALDB#FF8C9139\tsql\query
    Dans cet exemple le "Nom du canal de l'instance localdb" est :

    np:\\.\pipe\LOCALDB#FF8C9139\tsql\query

    Il est pour les instances LocalDB l'équivalent du nom d'une instance "normale" que celle-ci soit une instance par défaut ou une instance nommée.

    A+

  5. #5
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Là, je pige plus rien...

    Y'a un truc dans IIS (Express) qui me bride j'ai l'impression.

    En effet, je viens de faire un programme de type console. Et les deux chaînes de connexion fonctionnent !

    Comme si parceque je suis à l'intérieur d'un process IIS, j'ai pas accès au fichier, ou un truc du genre.

    En effet, si je change la chaîne de connexion pour un fichier inexistant, j'ai la même erreur.

  6. #6
    Membre chevronné
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Essayez de regarder du coté des droits Windows sur le repertoire ...

    Eventuellement ajouter les droits en lecture/ecriture sur le repertoire souhaite au groupe IIS_IUSRS.

    Après pour le coup ce ne sont que des suppositions, je ne me suis jamais retrouvé dans ce cas.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/10/2007, 14h40
  2. Connection à une base de données
    Par rodri dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2004, 15h05
  3. Connection à une base de données
    Par rodri dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/07/2004, 13h03
  4. Comment se connecter à une base SQL server
    Par zapia dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/10/2003, 17h39
  5. Réponses: 2
    Dernier message: 26/08/2003, 14h21

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