Vinnaren i pepparkakshustävlingen!
2016-04-07, 15:40
  #1
Medlem
Jag har lite dokument/bilder mm lagrade i en tabell i databasen som blobbar. Nu skulle jag vilja konvertera en blob till en vanlig fil.

Om man genom en select-sats tar fram datat i den tilltänkta filen och lägger det i en varchar(max)-variabel så vill jag sen spara ner den nånstans på hårddisken så att jag sen kan bifoga filen i ett mail som jag skickar iväg mha stored proceduren sp_send_dbmail.

Hur gör jag?

Jag vill alltså slippa gå omvägen genom klienten, utan allting ska alltså skötas i SQL-servern.
Citera
2016-04-07, 21:27
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av PN
Jag har lite dokument/bilder mm lagrade i en tabell i databasen som blobbar. Nu skulle jag vilja konvertera en blob till en vanlig fil.

Om man genom en select-sats tar fram datat i den tilltänkta filen och lägger det i en varchar(max)-variabel så vill jag sen spara ner den nånstans på hårddisken så att jag sen kan bifoga filen i ett mail som jag skickar iväg mha stored proceduren sp_send_dbmail.

Hur gör jag?

Jag vill alltså slippa gå omvägen genom klienten, utan allting ska alltså skötas i SQL-servern.
Det kommer ju med all sannolikhet inte funka allt för bra.

en BLOB är ju ett binary large object, binärdata som sparats som en teckensekvens. Kollar du på den är det ju bara gibberish och helt obegripligt. Du måste med största sannolihet läsa in den ii nån slags stream och därefter bearbeta bytesen i streamen för att få tillbaka filen som den en gång var, du kommer troligen inte bara kunna kasta in skräpet i en varchar och sen bara langa iväg det.

Mer läsning om blobbar:

http://www.developer.com/net/asp/art...and-ADONET.htm

Btw, det går ju att skriva SPar i .NET-kod med, då skulle du troligen kunna få tillbaka binärdatat i nån slags begriplig form, men jag tror inte sql server har stöd för det i sig självt för att mangla bytearrayer.
__________________
Senast redigerad av Proton 2016-04-07 kl. 21:30.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback