| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 
 | function out = bin2oracle(mode,name,var)
% Save variables into oracle as binaries (BLOB)
% 
% Use :
% - out = bin2oracle(mode,name,var)
% 
% Example :
% >> bin2oracle('save','myvar',1:10)
% >> bin2oracle('load','myvar')
% >> bin2oracle('delete','myvar')
% >> bin2oracle('delete','*') % be careful : delete all !
 
% author 'Thomas Grin'
% title 'bin2oracle'
% project ''
% date 'July-2006'
 
tmpfile1 = 'c:\tmpbin2oracleload.mat';
tmpfile2 = 'c:\tmpbin2oraclesave.mat';
 
if(nargin < 3)
    var = 'bin2oracle: save error';
end
 
switch mode
    case 'load'
        query = sprintf('select data from BinData where name like ''%s''',name);
        bin = execSQL('****','*****','*****',query);
 
        fid = fopen(tmpfile1,'w');
        fwrite(fid,cell2mat(bin),'int8');
        fclose(fid);
 
        tmp = load(tmpfile1);
        out = tmp.var;
 
 
    case 'save'
        save(tmpfile2,'var')
        fid  = fopen(tmpfile2,'r');
        data = fread(fid,'int8');
        fclose(fid);
        for i=1:length(data)
            dat = now;
            query = sprintf('insert into BinData(dat,name,data) values(%d,''%s'',%d)',dat,name,data(i));
            execSQL('*****','*****','****',query);
        end
 
 
    case 'delete'
        query = 'delete from BinData';
        if ~strcmp(name,'*')
            query = [query, sprintf('where name like ''%s''',name)];
        end
        execSQL('*****','*****','****',query);
end |