home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.ms-sqlserver      Notorious Rube Goldberg contraption      19,505 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 18,141 of 19,505   
   =?ISO-8859-1?Q?Arne_Vajh=F8j?= to All   
   Re: Extracting Image datatype content wi   
   03 Mar 11 18:29:41   
   
   XPost: microsoft.public.dotnet.languages.csharp   
   From: arne@vajhoej.dk   
      
   On 03-03-2011 07:44, Goldrush(???) wrote:   
   > "Joe Cool"  wrote in message   
   > news:18a81576-f3f6-4a12-a5e1-0ddc351e0c5a@w12g2000yqj.googlegroups.com...   
   >> I am cross posting this request for help in both the C#,NET and the   
   >> SQLServer newsgroups in he hope that some reader of one these   
   >> newsgroups can offer some help.   
   >>   
   >> I am well aware that the image datatype (as well as others) are being   
   >> phased out in some future version of SQL Server. For that reason, in   
   >> all of my personal C#.NET projects that store images use the   
   >> varbinary(max) datatype.   
      
   That is what the docs says.   
      
   I am somewhat skeptical about how soon it will happen.   
      
   Using *var*(max) for new stuff absolutely makes sense.   
      
   But I would hurry slowly to convert existing code.   
      
   >> I am in the process of converting a VB.NET project that I use for   
   >> consulting work with a former (and hopefully soon to be repeat)   
   >> employer tp C#.NET. When originally designed, their software was based   
   >> on SQL7. Currently their software supports SQL2005. One key table in   
   >> their database is a table of images and (not sure if it still does)   
   >> but legacy databases utilize the image datatype to store images. With   
   >> SQL7 I used a SQL command line utility called TEXTCOPY to extract the   
   >> binary content of image columns to a JPG file.   
   >>   
   >> This utility needs to be able to extract these images to external   
   >> files even for legacy databases that may still use the image datatype.   
   >> But I find that the technique I use to extract images from a   
   >> varbinary(max) column doesn't work for image datatypes. And I see that   
   >> SQL2005, while it still supports image datatype, the TEXTCOPY utility   
   >> is nowhere to be found.   
   >>   
   >> Any ideas on how to extract image data types from a SQL2005 database   
   >> with C#.NET?   
   >   
   > Try like this   
   >   
   >      using System.IO;   
   >      using System.Drawing;   
   >   
   >   
   >      ...............................   
   >      private PictureBox myPictureBox1;   
   >      .................................   
   >   
   >              DBCon dbcon = new DBCon(); //defined by me   
   >              dbcon.Open();    //database open   
   >   
   >              string sSql = "SELECT [ImageCol] FROM [ImageDataBase] ";   
   >   
   >              DataSet ds = dbcon.GetDataSet(sSql);    //Get DataSet   
   >              dbcon.Close();    //database close   
   >   
   >              if (ds != null&&  ds.Tables.Count>0 )   
   >              {   
   >                  byte[] image = (byte[])ds.Tables[0].Rows[0]["ImageCol"];   
   >                  MemoryStream ms = new MemoryStream(image, 0, image.Length);   
   >                  Bitmap bitmap = new Bitmap(ms);   
   >                  ms.Close();   
   >                  ms.Dispose();   
   >   
   >                  myPictureBox1.Picture = bitmap;        //show bitmap   
   >                  myPictureBox1.FitToPictureBox();    //fit image to control   
   >              }   
      
      
   Using DataSet should work, but it really does not provide   
   any value here that a more lightweight data reader would   
   not provide.   
      
   Arne   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca