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 :

connection à un serveur sql server depuis un client


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut connection à un serveur sql server depuis un client
    bonjour à tous

    j'ai un petit probleme avec la chaine de connection, je developpe une aoolication sous VS2005 en vb.net.

    voilà ma chaine de connection que j'utilise:
    Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TEST;Data Source=SQLSERVER
    sa me donne l'erreur suivant:
    Expiration du délai d'attente. Le délai d'attente s'est écoulé avant la fin de l'opération ou le serveur ne répond pas.
    lorsque je rajout le provider SQLOLEDB à ma chaine de connection on me di que Mot clé non pris en charge : 'provider'.

    je rajoute, lorsque j'utilise une connection à l'aide de l'assistant la chaine de connexion en sortie me donne
    Provider=SQLOLEDB;Data Source=SQLSERVER;Integrated Security=SSPI;Initial Catalog=TEST

    merci de me venir en aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu es sûr que ton serveur est bien démarré ? Parce que ton message d'erreur correspond à un timeout, comme si ton serveur n'était pas accessible...
    Tu peux vérifier ta chaîne de connexion ici : http://www.connectionstrings.com/?carrier=sqlserver2005

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Mon serveur est bien démarré, si c'était le contraire je n'arriverai pas à me connecter via l'assistant de connection sur VS 2005. puis il y'a d'autres bases de données qui sont à marche(les bases du logiciel de comptabilité: sage)

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Si tu utilises dans ton programme la même chaine de connexion que l'assistant VS, ça devrait marcher...

  5. #5
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut
    si j'utilise la chaine que l'assitant VS me donne, un erreur se produit en disant que Mot clé non pris en charge : 'provider'.
    voilà la chaine que donne l'assistant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Provider=SQLOLEDB;Data Source=SQLSERVER;Integrated Security=SSPI;Initial Catalog=TEST
    localement je me connect sans provider et ça marche,le probleme c'est lorsque je tente la connection à un serveur.
    voilà mon petit programme de connection:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Sub connexionsql()
            Dim chaine As String = "Provider=SQLOLEDB;Data Source=SQLSERVER;Integrated Security=SSPI;Initial Catalog=TEST"
            Dim consql As Boolean = True
            sql = New SqlConnection
            sql.ConnectionString = chaine
            Try
                consql = True
                sql.Open()
            Catch ex As Exception
                MessageBox.Show(ex.Message)
                consql = False
            End Try
        End Sub

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    C'est parce que dans l'assistant VS, tu as du choisir le provider OLEDB au lieu du provider SQL Server, alors que dans ton code tu utilises le provider SQL Server, qui ne supporte pas le paramètre "Provider".

    Donc, soit tu choisis dans l'assistant le provider SQL Server (voir l'image en pièce jointe), soit tu utilises dans ton code le provider OLEDB (System.Data.OleDb.OleDbConnection)
    Images attachées Images attachées  

  7. #7
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut
    voici en images ce que je fais exactement

    en suivant ce que tu as proposé, la connexion a réussi , je je trouve en sorti le provider qui est marqué sur la chaine de connexion(image11.bmp et image10.bmp)

    pour mon programme le oledb est déjà importé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Imports System.Data.OleDb
    Imports System.Data.OleDb.OleDbConnection

  8. #8
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut
    voici les deux images

    merci
    Images attachées Images attachées   

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Dans la première image, c'est le provider SQL Server natif qui est sélectionné (Microsoft SQL Server (SqlClient))
    Dans la 2e, c'est le provider OleDB pour SQL Server (Microsoft SQL Server (OLE DB))
    Tu as du changer entre les 2... dans le dialogue dont je t'ai envoyé un screenshot, vérifie que tu as bien choisi la bonne option pour "Fournisseur de données"
    Avec le provider natif, la chaine de connexion est : Data Source=SERVER;Initial Catalog=BASE;Integrated Security=True
    Tu peux utiliser cette chaine de connexion avec System.Data.SqlClient
    Avec le provider OLEDB, la chaine de connexion est : Provider=SQLOLEDB;Data Source=JIMMY;Integrated Security=SSPI;Initial Catalog=TEST
    Tu peux utiliser cette chaine de connexion avec System.Data.OleDb

  10. #10
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut
    oh je devai changer le sqlconnection par le oledbconnection.
    ça a bien marché maiiiiiiis je doit tout changer, les commande les dataAdapter mais bon c'est ça le developpement informatique

    merci infiniment Monsieur tomlev pour ton aide.

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Si ton code contient partout des références aux classes Sql*, change plutôt la chaîne de connexion, ça ira plus vite... la chaîne suivante devrait marcher avec SqlClient :
    Data Source=SQLSERVER;Initial Catalog=TEST;Integrated Security=True
    D'autre part, si ton code d'accès aux données est bien fait, tu ne devrais pas avoir à changer quoi que ce soit (à part la chaîne de connexion bien sûr) : avec ADO.NET 2 il est possible d'écrire un code complètement générique et indépendant de la base de données que tu utilises.
    cf. ce tutoriel : (en particulier la partie III)
    http://johannblais.developpez.com/tu...-donnees/#LIII
    et cette discussion :
    http://www.developpez.net/forums/sho...d.php?t=570493

  12. #12
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut
    en travaillant localement, votre chaine(sans provider) marche tres bien avec sqlclient.
    mais sans provider ça n'as pas marché avec une base située sur un serveur distant,
    donc l'utilisation du oledb est obligatoir, sinon c'est reglé avec "rechercher et remplacer".

    merci pour le tutoriel.

  13. #13
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut connexion depuis un poste client lorsque le compte n'est pas administrateur
    bonjour à tous

    voilà, le problème est bien résolu, tout ce passe bien lorsque le compte utilisateur du poste client est administrateur, sauf que si le compte utlisateur n'est pas admin la connexion ne marche plus!

    est ce que c'est dû à ma chaine de connexion ?
    est ce que c'est dû aux acces au serveur sql?
    est ce que ma base de données doit être parametrée?

    vraiment je suis blocké!

    merci de me revenir en aide.

  14. #14
    Membre habitué
    Homme Profil pro
    Développeur / DBA
    Inscrit en
    Septembre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur / DBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 133
    Points : 152
    Points
    152
    Par défaut
    Personnellement pour toute base de donnée je créé systématiquement un utilisateur qui est db_owner donc accès en lecture écriture ... voila je n'utilise jamais le compte "sa" pour des connections à distance.
    Digital D.N.A

  15. #15
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 44
    Points
    44
    Par défaut résolu
    j'ai resolu le probleme tout simplement par la gestion des utilisateurs de ma base de données
    merci comme même.

    see you somehow

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/10/2012, 15h21
  2. se connecter au serveur sql server 2008
    Par beaudelaire dans le forum Outils
    Réponses: 1
    Dernier message: 22/09/2011, 10h37
  3. Réponses: 3
    Dernier message: 09/07/2010, 08h39
  4. [C# 2.0] Comment se connecter au serveur SQL Server Express ?
    Par wodel dans le forum Accès aux données
    Réponses: 7
    Dernier message: 16/04/2010, 23h38
  5. Réponses: 5
    Dernier message: 08/10/2008, 17h33

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