sql >> Databasteknik >  >> RDS >> Sqlserver

Ändra bildstorlek från 150*150 till 70*70 med hjälp av sql-fråga?

Jag håller med allas poäng här, men om du verkligen ville eller var tvungen, kan du aktivera CLR-integration på SQL Server, skapa en sammansättning som kan ändra storlek på din bild och sedan anropa den från en trigger eller proc. Det är inte särskilt svårt. Här en sida som beskriver processen:http:// msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx

I princip för att aktivera CLR på SQL Server:

sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO

Skapa en c#-assembly för att ändra storlek på din bild:

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
    }
}

Kompilera sammanställningen

csc /target:library ResizeImageProc.cs 

Ladda sammansättningen i SQL Server:

CREATE ASSEMBLY ResizeImageAssembly from 'c:\ResizeImageProc.dll' WITH PERMISSION_SET = SAFE

Skapa processen

CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage

Efter det kan du kalla det som en vanlig proc. Till exempel:

EXEC ResizeImage(1,800,600)


  1. I Rails kunde det inte skapas databas för {adapter=>postgresql,

  2. Gruppering med ett ärendeutlåtande

  3. Ta bort ett enstaka tecken från ett varchar-fält SQL Server 2008

  4. Index flera kolumner med Ruby on Rails