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 17,873 of 19,505   
   =?ISO-8859-1?Q?Arne_Vajh=F8j?= to Joe Cool   
   Re: Extracting Image datatype content wi   
   31 Jul 10 21:46:09   
   
   2b616b15   
   XPost: microsoft.public.dotnet.languages.csharp   
   From: arne@vajhoej.dk   
      
   On 31-07-2010 21:41, Joe Cool wrote:   
   > On Jul 31, 9:21 pm, Arne Vajhøj  wrote:   
   >> On 31-07-2010 20:50, Joe Cool wrote:   
   >>> On Jul 31, 8:41 pm, Arne Vajhøj    wrote:   
   >>>> On 31-07-2010 20:39, Joe Cool wrote:   
   >>>>> On Jul 31, 8:37 pm, Arne Vajhøj      wrote:   
   >>>>>> On 31-07-2010 20:29, Joe Cool wrote:   
   >>   
   >>>>>>> On Jul 31, 8:02 pm, Arne Vajhøj        wrote:   
   >>>>>>>> On 31-07-2010 19:36, Joe Cool wrote:   
   >>   
   >>>>>>>>> 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.   
   >>   
   >>>>>>>>> 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?   
   >>   
   >>>>>>>> Have you tried the obvious: SqlConnection, SqlCommand, SELECT,   
   >>>>>>>> ExecuteReader, SqlDataReader og læse kolonnen som byte[] ?   
   >>   
   >>>>>>> Here is what I am using that works with varbinary(max) datatype   
   >>>>>>> columns.   
   >>   
   >>>>>>> SqlCommand cmd;   
   >>>>>>> SqlDataReader rdr;   
   >>>>>>> DataTable dataTable;   
   >>   
   >>>>>>> cmd = new SqlCommand("select imagecolumn, linkcolumn from images",   
   >>>>>>> cn)'   
   >>>>>>> rdr = cmd.ExecuteReader();   
   >>>>>>> dataTable.Load(rdr);   
   >>   
   >>>>>> Drop the data table and try:   
   >>   
   >>>>>> while(rdr.Read())   
   >>>>>> {   
   >>>>>>         byte[] image = (byte[])rdr[0];   
   >>>>>>         string link = (string)rdr[1];   
   >>>>>>         // process image and link   
   >>   
   >>>>>> }   
   >>   
   >>>>> Umm, so are you saying that while the datatable works with a   
   >>>>> varbinary(max) datatype, for an image datatype I should drop the   
   >>>>> datatable and just use a data reader?   
   >>   
   >>>> I don't know if the data table is the problem.   
   >>   
   >>>> I know that the reader will work.   
   >>   
   >>>> And according to your description, then you don't need   
   >>>> the data table.   
   >>   
   >>>> So it is worth a try.   
   >>   
   >>> The only reason I was trying to use a data table is because I am using   
   >>> a support class library (that I also wrote) that returns data using   
   >>> just a datatable. I suppose I can enhance it to also support returning   
   >>> data with a data reader.   
   >>   
   >> What is the problem when you try getting the image with the   
   >> current code?   
   >   
   > The extracted files are smaller than the JPGs extracted by the VB.NET   
   > version and are not valid JPG files (their content is not the same).   
      
   Is the size in the DB correct?   
      
   If yes - is the size in the data table correct?   
      
   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