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

Administration SQL Server Discussion :

[DNN] connectionStrings à un fichier mdf


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut [DNN] connectionStrings à un fichier mdf
    Bonjour à tous,

    Je ne suis pas une bête des chaines de connexion...
    Je suis en SQL Server Express

    J'ai un portail DotNetNuke (je ne pense pas que ca influe sur grand chose concernant la BDD), et dans le Web.config, ma connectionStrings est comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="SiteSqlServer" connectionString="Data Source=.\SQLExpress;AttachDbFilename=|DataDirectory|Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
    Ca fonctionne bien, seulement c'est une connexion en mode fichier, et je ne peux pas accéder à la base de manière multiple, c'est à dire que je ne peux avoir qu'une instance.
    Mon site en prend une, et je ne peux donc pas me connecter avec SQL Server Management Studio Express (MSE) en même temps.. Je suis obligé d'attendre que la session ait expirée, puis ensuite, pour réutiliser le site, je suis obligé de détacher la base dans MSE.

    J'essaye d'autre chaines de connexion, mais j'ai d'autres soucis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="SiteSqlServer" connectionString="server=.\SQLEXPRESS;uid=;pwd=;Trusted_Connection=yes;database=|DataDirectory|Database.mdf;" providerName="System.Data.SqlClient" />
    Me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Échec de l'ouverture de session de l'utilisateur '[maBécane]\ASPNET'.
    Avez vous une idée ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonsoir,

    Vous utilisez dans votre chaine de connexion le paramètre "Trusted_Connection=yes" et par conséquent l'authentification windows.

    L'utilisateur qui se connecte est celui du compte ASPNET de IIS.
    Je vous conseille d'utiliser un compte sqlserver dans votre chaine de connexion que vous aurez paramétré au préalable sur votre serveur sql.

    La chaine serait par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="SiteSqlServer" connectionString="server=.\SQLEXPRESS;uid=usersql;pwd=****;database=|DataDirectory|Database.mdf;" providerName="System.Data.SqlClient" />
    ++

  3. #3
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Bonjour mikedavem,

    Merci pour votre rapidité.

    J'ai donc créé un compte de connexion SQL Server qui utilise l'authentification SQL Server de cette manière:
    http://msdn.microsoft.com/fr-fr/library/aa337562.aspx

    Mais, une fois connecté avec ce compte dans SQL SM, je ne peux pas joindre ma base car il ne dit que je n'ai pas les permissions.

    Je vais donc dans le répertoire ou se trouve le fichier mdf et je veux ajouter ce compte dans la sécurité, mais je ne le trouve pas dans la liste totale proposée.

    De plus, ASP NET me dit: "Impossible d'ouvrir la base de données '|DataDirectory|Database.mdf' demandée par la connexion. La connexion a échoué." (ce qui est le même pb, je pense).

    Comment faire ?

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

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

    Vous devez maintenant mapper votre connexion à un utilisateur de la base de données qui vous concerne pour que vous ayez les accès.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    USE <votreBase>;
    CREATE USER <votreUser> FOR LOGIN <votreLoginConnexion>;
    Il faudra éventuellement paramétrer les droits par l'instruction GRANT ....

    ++

  5. #5
    Membre éprouvé Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 065
    Par défaut
    Je ne comprends pas vraiment.

    Je viens de créer une connexion dont le nom d'accès est "David".
    Ce n'est pas un compte utilisateur ?

    Qu'est ce que "votreLoginConnexion" et "votreUser" ?

    Sinon, j'ai coché un peu toutes les cases de permissions dans les propriétés de ma connexion, et maintenant, il peut aller jusqu'au fichier, mais quand je veux le joindre, il dit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE FILE a rencontré l'erreur du système d'exploitation 32
    (Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus.) 
    en essayant d'ouvrir ou de créer le fichier physique '...\App_Data\Database.mdf'. 
    (Microsoft SQL Server, Error: 5123)

  6. #6
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Sur SQL Server vous avez 2 choses bien distinctes :

    Au niveau du serveur sql :
    - Un compte de connexion ou login qui vous permet d'avoir accès au serveur SQL

    Au niveau de la base de données :
    - Un utilisateur qui a accès à votre base de données avec plus ou moins de droits ou de restrictions

    Pour pouvoir avoir accès à vos bases de données :
    Vous devez avoir votre login et votre utilisateur de bases de données.

    Pour votre base de données vous pouvez faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    -- Création du login de connexion (login SQL) au serveur sql
    CREATE LOGIN David
        WITH PASSWORD = 'XXXX';
    -- On se place dans la base de données concernée
    USE <votreBDD>
    -- Création de l'utilisateur DavidUser pour la base de données
    -- et mappage login David -> utilisateur DavidUser
    CREATE USER DavidUser FOR LOGIN David;
    Pour votre chaine de connexion essayez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="SiteSqlServer" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=<votreBase>;User Id=David;Password=XXXX;" providerName="System.Data.SqlClient" />
    ++

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

Discussions similaires

  1. [MSDE] Protection du fichier MDF
    Par papouAlain dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/11/2013, 14h23
  2. Fichiers MDF et LDF
    Par TicTacToe dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/07/2006, 10h41
  3. Lecture de la taille réelle du fichier .mdf
    Par carjo dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 13/01/2006, 19h42
  4. Comment Exploiter un fichier MDF
    Par Actarus69 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 02/11/2005, 14h32
  5. Fichiers MDF et LDF
    Par mohamed dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/03/2005, 10h43

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