none
Problème de connexion distante à SQL server express 2005 depuis un programme c# RRS feed

  • Question

  • Bonjour,

     

    Voilà j’essaye de créer une connexion distante, d’un programme c#, vers une BDD SQL server express 2005.

    Voilà le détail de ce que j’ai fait :

    Coté client : chaine de connexion de system.data.sqlclient prenant comme paramètres :

    Une data source, user, password, integrated security, et l’initial catalog.

    J’y ai mis les valeurs: data source: SERVER\SQLEXPRESS, user: sa, pass: monPass, intergrated security: SSPI, initialCatalog: MaBdd.

     

    Si je travail en local ça marche très bien, mais quand je veux faire une connexion distante ça ne marche pas.

     

    Coté server :

    ·         j’ai créé MaBdd, qui est mappé pour l’utilisateur sa

    ·         J’ai activé « utilisation à la fois de TCP/IP et de cannaux nommés » dans la surface area configuration

    ·         J’ai activé « activer la prise en charge des fonctions OPENROWSET et OPENDATASOURCE » pour les requêtes distantes toujours dans la surface area configuration

    ·         J’ai la version de sql server express à la SP3 (9.00.4035.00)

    ·         J’ai redémarré mes services

    ·         J’ai également activé SQL BROWSER (mais je ne sais pas si c’est utile … ?)

     

    Voila donc maintenant coté client j’ai changé mon data source pour y mettre « SERVER\SQLEXPRESS ». J’ai également essayé « \\SERVER\SQLEXPRESS », mais rien ne va.

     

    Quelqu’un pourrai t il me débloquer j’ai essayé pas mal de choses et ça ne va pas… ?

     

    Si je mets \\SERVER\SQLEXPRESS , mon debugger c# me dit « Une erreur s'est produite lors de l'établissement d'une connexion au serveur. Lors de la connexion à SQL Server 2005, cet échec peut être dû au fait que les paramètres par défaut de SQL Server n'autorisent pas les connexions à distance. (provider: Fournisseur de canaux nommés, error: 5 - Paramètre(s) non valide(s) détecté(s))»

     

    Si je met SERVER\\SQLEXPRESS, il me dit « Échec de l'ouverture de session de l'utilisateur 'SERVER\Invité'. ». Je pense que cette solution se rapproche du résultat, mais je ne comprends pas pourquoi il me parle de compte invité…

     

    Quelqu’un peut il m’aider ?

     

    Merci par avance pour vos réponses.

    jeudi 6 août 2009 09:06

Réponses

  • ah c'est bon il fallait que je poste un message pour résoudre mon problème.

    pour info à ceux qui veulent reproduire cette manip, il faut changer la chaine de connexion coté c# et mettre du type:

    Data Source=myServer;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;Trusted_Connection=False;
    voilà maintenant il me reste à paramétrer le pare feu coté server car il bloque les entrée.. si quelqu'un sait quel port il faut accepter ça serai cool ..

    jeudi 6 août 2009 09:48
  • Bonjour,

    Il faut ouvrir le port 1433 pour Sql Server et 1434 pour le Browser.

    Cordialement
    Gilles TOURREAU - MVP C#
    dimanche 9 août 2009 12:31
    Modérateur

Toutes les réponses

  • ah c'est bon il fallait que je poste un message pour résoudre mon problème.

    pour info à ceux qui veulent reproduire cette manip, il faut changer la chaine de connexion coté c# et mettre du type:

    Data Source=myServer;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;Trusted_Connection=False;
    voilà maintenant il me reste à paramétrer le pare feu coté server car il bloque les entrée.. si quelqu'un sait quel port il faut accepter ça serai cool ..

    jeudi 6 août 2009 09:48
  • Bonjour,

    Il faut ouvrir le port 1433 pour Sql Server et 1434 pour le Browser.

    Cordialement
    Gilles TOURREAU - MVP C#
    dimanche 9 août 2009 12:31
    Modérateur
  • bonsoir,

    j'ai été dans le pare feu windows et j'ai ajouté les ports TCP 1433 et 1434, par contre si je redémarre la  machine il ne prend plus en compte le fait d'avoir autorisé ces ports, alors que quand je retourne dans mon pare feu ils sont bien en exceptions.... bizare

    il faut faire une autre manip pour que celà soit définif, ou alors j'ai fait une erreur autre part?

    merci pour vos réponses.
    dimanche 9 août 2009 18:59
  • Bonjour,

    Je pense que le problème est dans ton pc, car normalement les réglages du pare feu ne changent pas en redémarrant la machine.
    Tu es sur quelle version de Windows ?

    Merci.
    jeudi 13 août 2009 17:17
  • Bonjour,

    Avez vous activé les connexions TCP/IP au niveau de SQL Server Configuration Manager ?

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    mercredi 19 août 2009 21:15
    Modérateur