write to blob field from javascript

641 views
Skip to first unread message

Νίκος Μάλιακκας

unread,
Jun 17, 2011, 6:41:32 AM6/17/11
to so...@googlegroups.com
Προσπαθώ να γράψω σε πίνακες που έχουν blob πεδία (xtrdocdata) μέσα από javascript.
απευθείας με την RUNSQL, αφού δεν παίρνει παραμέτρους, δεν μπορώ να στείλω το blob πεδίο.
(το blob είναι ένα οποιοδήποτε αρχείο)

Έφτιαξα και αντικείμενο για να το στείλει από μόνο του σαν παράμετρο χωρίς επιτυχία

Έχει κανείς καμιά ιδέα;

Νίκος Μάλιακκας

unread,
Oct 29, 2013, 4:50:01 PM10/29/13
to so...@googlegroups.com
Τελικά βρήκα τη λύση!:

Φτιάχνω την συνάρτηση  στον sql server:

CREATE FUNCTION [dbo].[base64toBin] (@bin64raw varchar(MAX)) 
RETURNS varbinary(MAX) 
AS 
BEGIN 
 declare @out varbinary(MAX) 
 declare @i int 
 declare @length int 
 declare @bin64char char(1) 
 declare @bin64rawval tinyint 
 declare @bin64phase tinyint 
 declare @bin64nibble1 tinyint 
 declare @bin64nibble2 tinyint 
 declare @bin64nibble3 tinyint 
 SELECT @bin64phase = 0 
 SELECT @i = 1 
 SELECT @length = len(@bin64raw) 
 if right(@bin64raw, 1) <> '='
  set @length = @length + 1
 WHILE @i < @length 
 BEGIN 
  SELECT @bin64char = substring(@bin64raw,@i,1) 
  BEGIN           
   IF ASCII(@bin64char) BETWEEN 65 AND 90 
    SELECT @bin64rawval = ASCII(@bin64char)-65 
   ELSE 
    IF @bin64char LIKE '[a-z]' 
     SELECT @bin64rawval = ASCII(@bin64char)-71 
    ELSE 
     IF @bin64char LIKE '[0-9]' 
      SELECT @bin64rawval = ASCII(@bin64char)+4 
     ELSE             
      IF @bin64char = '+' 
       SELECT @bin64rawval = ASCII(@bin64char)+19 
      ELSE                     
       IF @bin64char = '/' 
        SELECT @bin64rawval = ASCII(@bin64char)+16 
       ELSE 
       BEGIN 
        SELECT @bin64rawval = 0 
        SELECT @i = @length-1 
       END 
  END
  IF @bin64phase = 0 
  BEGIN 
   SELECT @bin64nibble1 = (@bin64rawval - @bin64rawval%4)/4 
   SELECT @bin64nibble2 = @bin64rawval%4 
   SELECT @bin64nibble3 = 0 
  END 
  ELSE 
   IF @bin64phase =1   
   BEGIN 
    SELECT @bin64nibble2 = (@bin64nibble2*4) + (@bin64rawval - @bin64rawval%16)/16 
    SELECT @bin64nibble3 = @bin64rawval%16 
    IF @i<5 
     SELECT @out= convert (binary(1),((16*@bin64nibble1) + @bin64nibble2)) 
    ELSE                                             
     SELECT @out= @out + convert (binary(1),((16*@bin64nibble1) + @bin64nibble2)) 
   END
   ELSE 
    IF @bin64phase =2   
    BEGIN 
     SELECT @bin64nibble1 = @bin64nibble3 
     SELECT @bin64nibble2 = (@bin64rawval - @bin64rawval%4)/4 
     SELECT @bin64nibble3 = @bin64rawval%4 
     SELECT @out=@out+ convert (binary(1),((16*@bin64nibble1) + @bin64nibble2)) 
    END 
    ELSE 
     IF @bin64phase =3 
     BEGIN 
      SELECT @bin64nibble1 = (@bin64nibble3*4) + (@bin64rawval - @bin64rawval%16)/16 
      SELECT @bin64nibble2 = @bin64rawval%16 
      SELECT @out=@out+ convert (binary(1),((16*@bin64nibble1) + @bin64nibble2)) 
    END
  SELECT @bin64phase = (@bin64phase + 1)%4 
  SELECT @i = @i + 1 
 END 
 RETURN(@out) 
END
GO



με την οποία μετατρέπω ένα base64 αρχείο κειμένου σε binary


και την χρησιμοποιώ ως εξής:


DECLARE @AA VARCHAR(MAX) 
SET @AA='/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAGXAtwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK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/wDwRS/4NzP2bf8AglKPDP7QXj7Vf+F9/tv3vgCLQvEfxIv0s5/hR8Gda1w64vjnT/2YPD114W0fxDow1XQdVtfh3r3xT8a3d58QPF/hrSNWbwxpnws8H/EL4k/CW4/Vr9gz/gnV+yF/wTW+C2jfBb9lH4SeH/BltD4e8OaN46+JlzpOi3Hxo+Nl/wCHJ/EV9ZeLPjd8SLHQ9K1f4heIV1bxR4n1PR7S6W28K+BrXX9S8JfCvwt4T+H9tovhO3+5qACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9k=' 
DELETE FROM XTRDOCDATA WHERE REFOBJID=8712 and SOSOURCE=51 and LNUM=0 and LINENUM=1 
INSERT INTO XTRDOCDATA (REFOBJID, SOSOURCE, LNUM, LINENUM, SODATA) 
VALUES (8712,51,0,1,DBO.base64toBin(@AA))

Αν λοιπόν στείλω μέσω του REST σε base64 το αρχείο με POST, τότε έχω αποθήκευση μέσω javascript se image column.
base64toBin.sql
SQLSTR.TXT

Νίκος Μάλιακκας

unread,
Oct 29, 2013, 5:19:34 PM10/29/13
to so...@googlegroups.com
Ψαχνοντας περισσότερο βρήκα τις:

CREATE FUNCTION dbo.f_BinaryToBase64(@bin VARBINARY(MAX))
RETURNS VARCHAR(MAX)
AS
BEGIN
    DECLARE @Base64 VARCHAR(MAX)
    
    /*
        SELECT dbo.f_BinaryToBase64(CONVERT(VARBINARY(MAX), 'Converting this text to Base64...'))
    */
    
    SET @Base64 = CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:variable("@bin")))','VARCHAR(MAX)')
    
    RETURN @Base64
END


CREATE FUNCTION dbo.f_Base64ToBinary(@Base64 VARCHAR(MAX))
RETURNS VARBINARY(MAX)
AS
BEGIN
    DECLARE @Bin VARBINARY(MAX)
    
    /*
        SELECT CONVERT(VARCHAR(MAX), dbo.f_Base64ToBinary('Q29udmVydGluZyB0aGlzIHRleHQgdG8gQmFzZTY0Li4u'))
    */
    
    SET @Bin = CAST(N'' AS XML).value('xs:base64Binary(sql:variable("@Base64"))', 'VARBINARY(MAX)')
 
    RETURN @Bin
END



θέλουν sql server 2005 και πάνω, αλλά μετά από δοκιμές έδειξαν ότι είναι πιο καλές (αφού είναι native...)
Reply all
Reply to author
Forward
0 new messages