Sono d'accordo con i punti di tutti qui, ma se lo si desidera o è necessario, è possibile abilitare l'integrazione CLR su SQL Server, creare un assembly che potrebbe ridimensionare l'immagine e quindi chiamarlo da un trigger o da un processo. Non è molto difficile. Qui una pagina che descrive il processo:http:// msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx
Fondamentalmente per abilitare CLR su SQL Server:
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
Crea un assembly c# per ridimensionare la tua immagine:
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
}
}
Compila l'assieme
csc /target:library ResizeImageProc.cs
Carica l'assembly in SQL Server:
CREATE ASSEMBLY ResizeImageAssembly from 'c:\ResizeImageProc.dll' WITH PERMISSION_SET = SAFE
Crea il processo
CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage
Dopodiché puoi chiamarlo come un normale proc. Ad esempio:
EXEC ResizeImage(1,800,600)