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

Développement SQL Server Discussion :

Connexion à une instance SQL Server en C#


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Connexion à une instance SQL Server en C#
    Bonjour,

    Afin d'automatiser, via un job, un export des bases ( l'équivalent de ce que fait tache -> générer un script) je crée un script C# qui le fait (n'ayant trouvé aucun script T-SQL pouvant le faire).

    Pour cela en C# j'utilise la classe Server de la librairie Microsoft.SqlServer.Management.Smo

    Voila un exemple d'utilisation en VB sur la msdn lien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'Connect to a remote instance of SQL Server.'
    Dim srv As Server
    'The strServer string variable contains the name of a remote instance of SQL' Server.
    srv = New Server(strServer)
    'The actual connection is made when a property is retrieved.' 
    Console.WriteLine(srv.Information.Version)
    'The connection is automatically disconnected when the Server variable goes out of scope.'
    Mon problème est que je n'arrive pas à trouver la bonne chaine de connection (ici strServer) pour me connecter en SSPI à mes instances comme j'arrive à le faire avec la classe SqlConnexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SqlConnection MaSqlCnx = new SqlConnection();
    MaSqlCnx.ConnectionString = "Integrated security = SSPI ; server = server\\instance";
    MaSqlCnx.Open();


    En effet ce qui suit ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Server srv = new Server("Integrated security = SSPI ; server = server\\instance");
    MessageBox.Show(srv.InstanceName);
    Ni ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Server srv = new Server(@"server\instance");
    MessageBox.Show(srv.InstanceName);
    Ni cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Server srv = new Server();
    srv.ConnectionContext.ConnectionString = "Integrated security = SSPI ; server = server\\instance";
    MessageBox.Show(srv.InstanceName);
    Ces solutions me génére l'exception "Impossible de ce connecter au server" ...

    ps: Je ne savais pas trop si je devais ouvrir cette discussion dans la rubrique C# car il s'agit d'un soucis vraiment particulier à SQL Server ...

    Si vous avez une solution pour planifier un export de base de donnée autrement qu'en passant par un script dtsx je suis preneur

    Merci à tous ceux qui prendront la peine de réfléchir à mon problème

  2. #2
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    Bonjour,
    Pour connaitre exactement la chaine de connexion et la tester par la même occasion, je te recommande les opérations suivantes:
    1 - Créer un fichier texte
    2 - Renomer ce fichier pour qu'il porte l'extension udl
    3 - Double cliquer sur le fichier udl et paramétrer la connexion au serveur. En profiter pour la tester
    4 - Enregistrer et Fermer
    5 - Renommer le fichier avec l'extension txt
    6 - Ouvrir le fichier avec ton éditeur de texte favori et copier/coller l'url de connexion

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Génial !

    Je ne connaissais pas cette méthode, c'est fou ce qu'elle peut être pratique car les chaînes de connexion sont souvent un point sensible en programmation.

    Merci beaucoup pour cette astuce !

    Mon problème est résolu


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

Discussions similaires

  1. [Débutant] Connexion en réseau local à une instance SQL SERVER 2008
    Par Luffy76380 dans le forum C#
    Réponses: 6
    Dernier message: 25/06/2013, 08h06
  2. Connexion bureau a distance a une instance SQL Server 2008
    Par aghilass dans le forum Administration
    Réponses: 3
    Dernier message: 27/01/2012, 16h27
  3. Réponses: 1
    Dernier message: 19/10/2011, 07h33
  4. Connexion distante à une instance SQL Server 2008
    Par Arkhena dans le forum Administration
    Réponses: 8
    Dernier message: 08/01/2010, 09h25
  5. Erreur de connexion à une BDD SQL Server 2000 avec BDE
    Par SchpatziBreizh dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2005, 11h22

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