none
Svp une solution pour gérer cet Erreur(Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. )????

    Discussion générale

  • voila le message d'erreur complet:

    Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (provider: Named Pipes Provider, error: 40 - Impossible d'ouvrir une connexion à SQL Server)

    dimanche 28 août 2011 17:14

Toutes les réponses

  • j'essaye d'enregistrer des images dans une base .Sdf avec Sql Server a partir d'une fenêtre WPF!!!!

    voila le  XAMl:

    <Window x:Class="WpfSqlServer.StoreImage"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     Title="StoreImage" Height="300" Width="300">
     <StackPanel>
     <StackPanel Orientation="Horizontal">
      <TextBlock Width="50" VerticalAlignment="Center">ID:</TextBlock>
      <TextBox Name="tbID" Width="100"></TextBox>
     </StackPanel>
     <StackPanel Orientation="Horizontal">
      <TextBlock Width="50" VerticalAlignment="Center">Name:</TextBlock>
      <TextBox Name="tbName" Width="100"></TextBox>
     </StackPanel>
     <StackPanel Orientation="Horizontal">
      <TextBlock Width="100" VerticalAlignment="Center">HeadSculpture:</TextBlock>
      <Image Height="50" Name="image" ></Image>
     </StackPanel>
     <Button Click="Button_Click">Store image to sql server</Button>
     <Button >Retrive image from sql server</Button>
     <StackPanel Orientation="Horizontal">
      <TextBlock Width="50" VerticalAlignment="Center">ID:</TextBlock>
      <TextBox Name="tbID2" Width="100"></TextBox>
     </StackPanel>
     <StackPanel Orientation="Horizontal">
      <TextBlock Width="50" VerticalAlignment="Center">Name:</TextBlock>
      <TextBlock Name="tbName2" Width="100"></TextBlock>
     </StackPanel>
     <StackPanel Orientation="Horizontal">
      <TextBlock Width="100" VerticalAlignment="Center">HeadSculpture:</TextBlock>
      <Image Height="50" Name="image2" ></Image>
     </StackPanel>
     </StackPanel>
    </Window>



     


    et ici le code Behind:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Data.SqlServerCe;
    using System.Data.SqlClient;
    
    namespace WpfSqlServer
    {
     /// <summary>
     /// Logique d'interaction pour StoreImage.xaml
     /// </summary>
     public partial class StoreImage : Window
     {
     
     BitmapImage bitmapImage;
     public StoreImage()
     {
      InitializeComponent();
      #region load image with StreamSrouce
      bitmapImage = new BitmapImage();
      bitmapImage.BeginInit();
      bitmapImage.StreamSource = System.IO.File.OpenRead(@"C:\images.jpg");
      bitmapImage.EndInit();
      //now, the Position of the StreamSource is not in the begin of the stream.
     
      image.Source = bitmapImage;
      #endregion
     }
    
     private void Button_Click(object sender, RoutedEventArgs e)
     {
      byte[] imageData = new byte[bitmapImage.StreamSource.Length];
      // now, you have get the image bytes array, and you can store it to SQl Server
      bitmapImage.StreamSource.Seek(0, System.IO.SeekOrigin.Begin);
      //very important, it should be set to the start of the stream
      bitmapImage.StreamSource.Read(imageData, 0, imageData.Length);
    
      Person person = new Person();
      person.ID = int.Parse(tbID.Text);
      person.Name = tbName.Text;
      person.HeadSculpture = imageData;
    
      System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
      
      conn.ConnectionString = "Data Source=MSSQLSERVER;Initial Catalog=WPFDemo;Integrated Security=True";
      System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
      cmd.Connection = conn;
      conn.Open();
      cmd.CommandText = "INSERT INTO PersonInfo VALUES(@ID, @Name, @HeadSculpture)";
      cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ID", person.ID));
      cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Name", person.Name));
      cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@HeadSculpture", person.HeadSculpture));
      
    
      int rows = cmd.ExecuteNonQuery();
      conn.Close();
      if (rows == 1)
      {
      MessageBox.Show("insert into sql server successfully");
      }
      else
      {
      MessageBox.Show("insert into sql server failure");
      }
      return;
     }
     
     }
    
     public class Person
     {
     public int ID
     {
      get;
      set;
     }
    
     public string Name
     {
      get;
      set;
     }
    
     public byte[] HeadSculpture
     {
      get;
      set;
     }
     }
    
    
    
    }
    



     



    dimanche 28 août 2011 17:22
  • Bonjour le nom de ton instance de serveur SQL est bien MSSQLSERVER ?

     Car si tu as Sql Server Express, il y a plus de chance que ton instance se nomme : SQLEXPRESS


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    lundi 29 août 2011 12:29
  • Merci Pascal pour la reponse.

    j'ai essayer avec SQLExpress ,mais c'est la même chose, même  message d'erreur!!!

    Est ce que c'est vraiment compliquer d'enregistrer une Image avec sql server????

     

    Peut être il me manque quelque chose dans le fichier app.config?????????????????
    lundi 29 août 2011 20:34
  • Pour votre question sur enregitrer une image j'ai répondu dans votre question concernant ce problème.

    Avez vous essayer dans votre chaîne de connexion ceci :

     

    "Data Source=LOCALHOST\MSSQLSERVER;Initial Catalog=WPFDemo;Integrated Security=True"
    
    ou
    
    "Data Source=.\SQLEXPRESS;Initial Catalog=WPFDemo;Integrated Security=True"
    

    Si cela ne répond pas à votre problème, je vous invite à poser la question sur le forum de sql server : http://social.msdn.microsoft.com/Forums/fr-FR/sqlserverfr/threads

    ils seront plus à même de résoudre votre problème.

     


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    lundi 29 août 2011 21:22
  • Bonjour,

    Pour être plus explicite, il y a apparemment une confusion entre le nom du serveur et le nom de l'instance.

    Actuellement on utilise Data Source=<Nom du serveur> (en croyant que c'est Data Source=<Nom de l'instance>), alors que comme indiqué par Pascal, on veut plus probablement utiliser :

    Data Source=<Nom du serveur>\<Nom de l'instance>

     

    Ah je viens de voir que l'on utilise apparemment SQL Server Compact (le fichier est un .SDF). Dans ce cas voir : http://msdn.microsoft.com/fr-fr/library/system.data.sqlserverce.sqlceconnection.connectionstring(v=vs.80).aspx et on utilise des classes spécifiques SqlCeConnection etc... pour se connecter.

     


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mardi 30 août 2011 11:14
  • Merci Patrice et Pascal

    Solution Complète:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;
    using System.Data.SqlServerCe;
    using System.Data.SqlClient;
    
    namespace WpfSqlServer
    {
      /// <summary>
      /// Logique d'interaction pour StoreImage.xaml
      /// </summary>
      public partial class StoreImage : Window
      {
        
        BitmapImage bitmapImage;
        public StoreImage()
        {
          InitializeComponent();
          #region load image with StreamSrouce
          bitmapImage = new BitmapImage();
          bitmapImage.BeginInit();
          bitmapImage.StreamSource = System.IO.File.OpenRead(@"C:\images.jpg");
          bitmapImage.EndInit();
          //now, the Position of the StreamSource is not in the begin of the stream.
     
          image.Source = bitmapImage;
          #endregion
        }
    
        private void Button_Click(object sender, RoutedEventArgs e)
        {
          byte[] imageData = new byte[bitmapImage.StreamSource.Length];
        
          bitmapImage.StreamSource.Seek(0, System.IO.SeekOrigin.Begin);
          
          bitmapImage.StreamSource.Read(imageData, 0, imageData.Length);
    
          Person person = new Person();
          person.ID = int.Parse(tbID.Text);
          person.Name = tbName.Text;
          person.HeadSculpture = imageData;
    
          SqlCeConnection conn = new SqlCeConnection("Data Source=C:/../../Base.sdf;");
    
          SqlCeCommand cmd = new SqlCeCommand();
          cmd.Connection = conn;
          conn.Open();
          cmd.CommandText = "INSERT INTO PersonInfo VALUES(@ID, @Name, @HeadSculpture)";
          cmd.Parameters.Add(new System.Data.SqlServerCe.SqlCeParameter("@ID", person.ID));
          cmd.Parameters.Add(new System.Data.SqlServerCe.SqlCeParameter("@Name", person.Name));
          cmd.Parameters.Add(new System.Data.SqlServerCe.SqlCeParameter("@HeadSculpture", person.HeadSculpture));
          
    
          int rows = cmd.ExecuteNonQuery();
          conn.Close();
          if (rows == 1)
          {
            MessageBox.Show("insert into sql server successfully");
          }
          else
          {
            MessageBox.Show("insert into sql server failure");
          }
          return;
        }
        
      }
    
      public class Person
      {
        public int ID
        {
          get;
          set;
        }
    
        public string Name
        {
          get;
          set;
        }
    
        public byte[] HeadSculpture
        {
          get;
          set;
        }
      }
    
    
    
    }
    


    jeudi 1 septembre 2011 19:31