Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C# WinForms] - Changement adresse SQLServeur

    5 juillet 2021 à 15:41:40

    Bonjour le forum,

    Apres as mal d'année en VBA je suis passée en C#.

    J'utilise Visual Studio 2019 et Microsoft SQL Serveur Management Studio 2018.

    Ma solution étant opérationnel, j'ai voulu l'installer sur un autre PC.

    A cet effet pour tester le tout, j'ai installé SQL Serveur et créer les tables + donnée avec un script.

    Dans App.Config j'ai changé le nom du serveur (DESKTOP-ANCIEN\SQLEXPRESS --> DESKTOP-NOUVEAU\SQLEXPRESS) et copiée la solution sur le nouveau PC.

    Au démarrage cela n'a pas fonctionnée. J'ai donc installé Visual Studio pour détecter les problèmes.

    Et là, plus de problème.

    J'ai donc pensée que la modification n'était pas initialisée.

    J'ai donc renouvelé l'opération en modifiant "string connectionString=..." et en créant une class.

    Cela ne fonctionne pas.



    En regardant de plus prêt App.Config, je me rends compte qu'il ne présente pas exactement comme ce que je voie souvent sur les forums :



    	<connectionStrings>
    
    		<add name="dbStockContext"
    		  connectionString="metadata=res://*/DbStock.csdl|res://*/DbStock.ssdl|res://*/DbStock.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DESKTOP-HJ24NFM\SQLEXPRESS;initial catalog=GESTION_DE_STOCK;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
    		  providerName="System.Data.EntityClient" />
    
    		<add name="GestionDeStockC.Properties.Settings.GESTION_DE_STOCKConnectionString"
    		  connectionString="Data Source=DESKTOP-HJ24NFM\SQLEXPRESS;Initial Catalog=GESTION_DE_STOCK;Integrated Security=True"
    		  providerName="System.Data.SqlClient" />
    	
    	</connectionStrings>



    Qu'en pensez vous?

    Quelle devrait être la bonne méthode?



    -
    Edité par LPLLPL 5 juillet 2021 à 15:46:30

    • Partager sur Facebook
    • Partager sur Twitter
      8 juillet 2021 à 12:08:13

      Bonjour,

      Si je ne dis pas de bétise, Visual studio embarque une instance de SQLEXPRESS. Cela expliquerait pourquoi cela marchait avec VS d'installé.

      Quand vous avez installé SQL Server sur le poste cible, avez vous explicitement nommé l'instance SQLEXPRESS ? Quelle version exactement avez vous installé ?

      De plus, pensez à utiliser "localhost" pour cibler l'ordinateur local, et non pas le nom de la machine physique. Vous n'aurez pas à vous embêter avec ces changements.

      Sinon, pour les chaînes de connexions, ce site https://www.connectionstrings.com/ les répertories

      -
      Edité par earp91 8 juillet 2021 à 12:08:56

      • Partager sur Facebook
      • Partager sur Twitter
        10 juillet 2021 à 14:41:13

        Bonjour,

        Merci pour votre retour.

        Sauf erreur de ma part, tout est en ordre pour SQL Serveur. Pour sa version :

        SQL Server Management Studio15.0.18384.0

        SQL Server Management Objects (SMO)16.100.46367.54

        Outils clients Microsoft Analysis Services15.0.19535.0

        Microsoft Data Access Components (MDAC)10.0.19041.1

        Microsoft MSXML3.0 6.0 

        Microsoft .NET Framework4.0.30319.42000

        Système d'exploitation10.0.19042


        Merci pour le conseil d'utiliser localhost, effectivement cela fonctionne.

        Entre temps j'ai repris le projet, supprimer des database avec leur dataset, repris le app.config qui maintenant ressemble a ceci :

        <connectionStrings>
        
        	  <add name="dbStockContext" connectionString="metadata=res://*/DbStock.csdl|res://*/DbStock.ssdl|res://*/DbStock.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;initial catalog=GESTION_DE_STOCK;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"	providerName="System.Data.EntityClient" />
        	  
          </connectionStrings>

        C'est déjà plus clair.

        En l'état, si je dépose le projet (sans passer par un .exe mais par un copier coller) alors la connexion ne se fait pas. Je dois faire un premiers lancement depuis l'IDE et après cela fonctionne.

        Je vais commencer par faire une installation via un .exe et voir si le problème persiste.

        Il me semble avoir lue que des (méta)données étaient conserver et qu'il fallait générer le projet pour les initialiser. Possible?

        Merci pour le liens, je vais regarder si je trouve une solution.

        -
        Edité par LPLLPL 10 juillet 2021 à 14:49:53

        • Partager sur Facebook
        • Partager sur Twitter

        [C# WinForms] - Changement adresse SQLServeur

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown