Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Alterar o tamanho da imagem de 150 * 150 para 70 * 70 usando a consulta sql?


Concordo com os pontos de todos aqui, mas se você realmente quisesse ou precisasse, você poderia habilitar a integração CLR no SQL Server, criar um assembly que pudesse redimensionar sua imagem e chamá-lo de um gatilho ou proc. Não é muito difícil. Aqui uma página que descreve o processo:http:// msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx

Basicamente para habilitar o CLR no SQL Server:
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO

Crie um assembly c# para redimensionar sua imagem:
using System;
using System.Data;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;

public class ResizeImageProc
{
    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void ResizeImage(int ImageID, int width, int height)
    {
       //TODO: ResizeImage Code
    }
}

Compile a montagem
csc /target:library ResizeImageProc.cs 

Carregue o assembly no SQL Server:
CREATE ASSEMBLY ResizeImageAssembly from 'c:\ResizeImageProc.dll' WITH PERMISSION_SET = SAFE

Crie o procedimento
CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage

Depois disso, você pode chamá-lo como um proc normal. Por exemplo:
EXEC ResizeImage(1,800,600)