sql >> Databáze >  >> RDS >> Sqlserver

Změnit velikost obrázku z 150*150 na 70*70 pomocí dotazu sql?

Souhlasím s názory všech zde, ale pokud jste opravdu chtěli nebo museli, můžete povolit integraci CLR na serveru SQL, vytvořit sestavení, které by mohlo změnit velikost vašeho obrázku, a pak jej zavolat ze spouštěče nebo proc. Není moc těžký. Zde je stránka s popisem procesu:http:// msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx

V podstatě k povolení CLR na serveru SQL:

sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO

Vytvořte sestavení c# pro změnu velikosti obrázku:

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

Zkompilujte sestavení

csc /target:library ResizeImageProc.cs 

Načtěte sestavení na SQL Server:

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

Vytvořte proc

CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage

Poté to můžete volat jako normální proc. Například:

EXEC ResizeImage(1,800,600)


  1. Volání uložené procedury v Postgresql prostřednictvím F# a Npgsql

  2. Opravy související s výkonem pro SQL Server 2012

  3. Rekurzivní v cakephp3?

  4. Backtrace z SQL dotazu do kódu aplikace?