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 :

Connecter une application à une base SQL située sur un réseau local [2008]


Sujet :

Administration SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut Connecter une application à une base SQL située sur un réseau local
    Bonjour,
    je suis débutant sur visual basic

    j'ai développé une application qui utilise une base de données Sql Server (.mdf) et ça marche bien.
    Maintenant je veux connaitre la démarche pour : faire connecter l'application installé sur une machine dans un réseau local, à la base (.mdf) situé sur le serveur local ?

    Est-ce qui'il suffit de modifier le "String Connexion" pour faire l'affaire ?

    merci pour votre aide

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 372
    Points : 489
    Points
    489
    Par défaut
    Bonjour,

    Citation Envoyé par ArtherKing Voir le message
    Bonjour,
    je suis débutant sur visual basic

    j'ai développé une application qui utilise une base de données Sql Server (.mdf) et ça marche bien.
    Maintenant je veux connaitre la démarche pour : faire connecter l'application installé sur une machine dans un réseau local, à la base (.mdf) situé sur le serveur local ?

    Est-ce qui'il suffit de modifier le "String Connexion" pour faire l'affaire ?

    merci pour votre aide
    D'abord il faudrait essayer une connexion SQL SERVER management studio, en cas d'échec, vérifie alors dans le Gestionnaire de Configuration si le service sql browser est activé, si les connexions à distance le sont aussi , le pare feu windows du PC qui tient lieu de SERVEUR, et de terminer par la ConnexionString où la valeur de la propriété Data Source est le Nom ou l'adresse IP du PC serveur.

    Cordialement
    La recherche de la connaissance est une Lumière qui apaise le Cœur.
    Si une réponse vous a été utile , n'oubliez pas de voter en cliquant sur:.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    merci Alexandre le Grand pour la réponse claire et rapide

    alors, globalement j'ai compris la démarche, si j'ai compris bien je dois procéder comme ça : ?

    1-Installer l'application sur un PC-1

    2-Installer sqlserver sur un PC-2 (serveur)

    3-Configurer le serveur pour autoriser la connexion vers la base (gestionnaire de configuration, Pare feu ...)

    4-Changer la chaîne de connexion pour s'adapter à une connexion à distance
    ?

    mais s'il vous plais peut-tu me détailler chaque étape, car je ne suis pas un informaticien !

    Une autre question, est ce qu'il y a une possibilité de situer la base (mdf) dans un dossier commun lié au serveur ?
    car j'ai essayer ça d'une manière très superficielle et j'ai eu l'erreur suivant :
    "The file ''-----\mabase.mdf'' is on a network path is not supported for database file" ...

    merci
    cordialement

  4. #4
    Membre éclairé
    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
    Points : 674
    Points
    674
    Par défaut
    Pour l'erreur il faut mettre le fichier sur un repertoire local, pas sur le réseau
    MCSA SQL SERVER |MCT | MVP Data Platform

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    Bonjour Julien94320,

    Mais moi je veux que ma base soit installée sur le serveur pour pouvoir l'exploiter par les différents utilisateurs (différentes machines de réseau)!

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par ArtherKing Voir le message
    Une autre question, est ce qu'il y a une possibilité de situer la base (mdf) dans un dossier commun lié au serveur ?
    car j'ai essayer ça d'une manière très superficielle et j'ai eu l'erreur suivant :
    "The file ''-----\mabase.mdf'' is on a network path is not supported for database file" ...
    Oui, tant que l'accès au répertoire se fait sur le chemin local et non sur le chemin partagé.
    Exemple si vous partagez le répertoire C:\DATABASE en un lecteur mappé G: alors il faut y accéder par C:\DATABASE et non par G.

    Enfin, cela n'a aucun intérêt, car sans le serveur vous ne pouvez strictement rien faire de ce fichier... !

    Pire c'est dangereux d'un point de vu sécurité.....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    Merci beaucoup SQLPro pour la clarification

    Ça commence à être claires les choses

    Peut tu me guider à propos les étapes pour partager ma base (mdf) sur le serveur dans le but de l'exploiter par plusieurs utilisateurs de réseau ?

    cordialement

  8. #8
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Il n'y a rien à faire pour "partager" le fichier.

    Une fois SQL Server installé sur un PC, ce dernier expose les bases de données qu'il contient sur le réseau.

    Il suffit alors de se connecter depuis n'importe quel programme du réseau pour travailler sur les bases de données.

    Attention, quelques points :
    - SQL Browser doit être démarré : sinon seules les connexions locales sont autorisées
    - Le parefeu de Windows peu, par défaut, bloquer SQL Server. Le désactiver pour vérifier.

    Ce site est très utile pour décider quelle chaîne de connexion utiliser :
    http://www.connectionstrings.com/

    Plus précisément, pour SQL Server :
    http://www.connectionstrings.com/sql-server/

    Il existe deux modes d'authentification dans SQL Server.
    -> L'authentification "SQL Server" : on crée des login/pass directement dans SQL Server. C'est le plus simple à mettre en place, surtout si vos PC ne sont pas dans un domaine. C'est aussi moins sécurité, car vous devez stocker ou saisir le login/pass sur l'application cliente.
    -> L'authentification Windows intégrée : on associe des comptes du domaine Windows à des rôles dans SQL Server. C'est plus complexe, puisque cela nécessite un domaine (ou alors travailler uniquement en local), mais bien plus sécurisé, puisque c'est l'authentification NT qui est utilisée (donc on ne saisi le mot de passe qu'au démarrage de Windows et après on ne s'en soucie plus).

    En fonction des deux, les chaînes de connexions ne sont pas les mêmes. Voir sur le site "Standard Authentification" pour le premier, et "Trusted Connection" pour le second.
    On ne jouit bien que de ce qu’on partage.

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    merci beaucoup StringBuilder,

    merci les gars pour vôtres précieux conseilles

    je vais appliquer ça sur mon application et s'il y a des soucis je vous tiendrais au courant

    Mille Merci
    Cordialement

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    Bonsoir les gars

    Alors je récapitule ce que j'ai réalisé et à qu'elle stade je me trouve :

    -J'ai installé SQL Server Express + Management Studio sur le PC Serveur

    -j'ai attaché ma base (mdf) à SQL Server Express

    -J'ai cherché pas mal sur le web et j'ai abouti à la configuration suivante :
    ** J'ai activé le protocole TCP/IP à travers Gestionnaire de configuration SQL Server
    ** j'ai configuré SQL Server pour l'écoute sur le port 1433
    ** j'ai ouvert le port 1433 dans le Pare-feu Windows pour l'accès TCP et je l'ai testé sur le PC-Client à travers la commande : telnet <Adresse Ip> 1433 et ça marche

    Mais lorsque j'ai testé de se connecter à travers l'application : j'ai testé pas mal de type des chaines de connexion une erreur s'est produite à chaque fois
    j'ai tester aussi par création d'une fichier (.udl) j'ai choisi "SQL Server native Client 10.0" comme fournisseur, puis j'ai choisi le nom du serveur, le nom d'utilisateur et son mdp et lorsque je clique sur sélectionnez la base de données une erreur s'affiche !

    Quelqu'un a la bonne démarche ?

  11. #11
    Membre éclairé
    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
    Points : 674
    Points
    674
    Par défaut
    Bonjour,


    Citation Envoyé par ArtherKing Voir le message


    j'ai tester aussi par création d'une fichier (.udl)
    Je ne comprend pas très bien cette partie que voulez vous faire ?

    Si vous souhaitez vous connecter depuis une application C#

    essayez plutot cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    using System;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                string connetionString = null;
                SqlConnection cnn ;
    			connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
                cnn = new SqlConnection(connetionString);
                try
                {
                    cnn.Open();
                    MessageBox.Show ("Connection Open ! ");
                    cnn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Can not open connection ! ");
                }
            }
        }
    }
    Je pense que ça sera plus simple ...
    MCSA SQL SERVER |MCT | MVP Data Platform

  12. #12
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    Salut les Gars,

    merci beaucoup pour vos aides, j'ai ressui à se connecter sur le serveur par un PC-Client à travers SQL Server Management Studio mais le seul problème est que je ne peut pas accéder à ma base, erreur : La base ... est inaccessible !

    à propos la chaîne de connexion :
    vérifie alors dans le Gestionnaire de Configuration si le service sql browser est activé, si les connexions à distance le sont aussi , le pare feu windows du PC qui tient lieu de SERVEUR, et de terminer par la ConnexionString
    quel est la "ConnexionString" qui convient dans mon cas ?
    est ce que ça marche avec : "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password" ?

  13. #13
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    Voilà la connexion que j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     Imports System.Data.SqlClient
    _____________________________________
     
     
    Dim StrCnx As String = Me.TConnStr.Text
            Dim cnx As New SqlConnection(StrCnx)
     
            Dim cmd As New SqlCommand
            Dim DSet As New DataSet
            Dim DAdpter As New SqlDataAdapter
     
            cnx.Open()
            cmd.Connection = cnx
            DSet.Clear()
     
            cmd.CommandText = "select Col1,Col2 from Tbl"
            DAdpter.SelectCommand = cmd
            DAdpter.Fill(DSet, "Tbl")
     
            cnx.Close() 'Fermer cnx Base des données

  14. #14
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    Bonjours les gars,

    merci beaucoup pour votre aide et votre collaboration

    Mon problème est résolu grâce à vos conseilles en une grande partie

    merci, julien94320, StringBuilder, SQLPro et Alexandre le Grand

    je remercie aussi ce forum, il est pro et très efficace

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/05/2013, 12h26
  2. Réponses: 6
    Dernier message: 26/07/2012, 10h28
  3. Réponses: 3
    Dernier message: 07/05/2010, 06h51
  4. Aide: une application avec base de donner sur le web
    Par maverick_lp28 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 16/04/2009, 13h21
  5. Réponses: 1
    Dernier message: 29/03/2007, 08h44

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