Microsoft
Software
Hardware
Network
Question : How to insert a single blob?
Hello,
I inserted a picture into an image field in SQL server using following query.
UPDATE dbo.Photo SET Document =
(SELECT * FROM
OPENROWSET(BULK 'C:\Pictures\Lighthouse.jp
g', SINGLE_BLOB) AS ORS)
When i render this image in an ASP.NET web page it works fine. I use this code block:
var photoQuery = (from inp in db.Photos
select new { Id = inp.ID, Document = inp.Document, Name = inp.ID });
foreach (var item in photoQuery)
{
Photo photo = new Photo();
byte[] picture = (byte[])(item.Document);
MemoryStream ms = new MemoryStream(picture);
System.Drawing.Image image = System.Drawing.Image.FromS
tream(ms);
photo.Listing_ID = item.Id;
photo.Name = item.Name.ToString();
using (var memoryStream = new MemoryStream())
{
image.Save(memoryStream, ImageFormat.Jpeg);
photo.Data = memoryStream.ToArray();
}
images.Add(photo);
}
until this point everything works fine.
but when i look in the field in SQL server i see a long binary hexidecimal string. These are the first few characters:
0xFFD8FFE000104A4649460001
0100000100
010000FFFE
003E43524
Now what i'm attempting to do is to copy that last piece of data as a string into the image field in SQL server. I test this by doing:
UPDATE dbo.tbl_InspectionPhoto set INP_Document =
'0xFFD8FFE000104A464946000
1010000010
0010000FFF
E003E43524
'
when i refresh my asp.net page, i get an error on System.Drawing.Image image = System.Drawing.Image.FromS
tream(ms):
The parameter is not valid.
Any help would be greatly appriciated.
Thanks in advance,
MA
Answer : How to insert a single blob?
Don't use quotes around the hex string. It is not a text string, but hex encoded binary data.
Random Solutions
how to do selective sorting based on contents of a column
Upgrade PHP to 5.3 version (or 5.2 eventually) on Plesk 9.5.2
TRY and CATCH
Import vs. link
Question about Exchange 2010 mailbox move.
Excel and Sharepoint locking issue
Unable to view certain websites internally on several OSx boxes
Adding text in front of all footnotes
IPMI baseboard management controller driver on Proliant ML350 G6
Cannot find "Manage Network Connections" in Windows 7