Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ändern Sie die Bildgröße von 150 * 150 auf 70 * 70 mithilfe einer SQL-Abfrage?

Ich stimme allen Punkten hier zu, aber wenn Sie wirklich wollten oder mussten, könnten Sie die CLR-Integration auf dem SQL Server aktivieren, eine Assembly erstellen, die die Größe Ihres Bildes ändern könnte, und sie dann von einem Trigger oder einer Prozedur aufrufen. Es ist nicht sehr schwer. Hier eine Seite, die den Vorgang beschreibt:http:// msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx

Grundsätzlich CLR auf dem SQL Server aktivieren:

sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO

Erstellen Sie eine C#-Assembly, um die Größe Ihres Bildes zu ändern:

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

Kompilieren Sie die Assembly

csc /target:library ResizeImageProc.cs 

Laden Sie die Assembly in den SQL Server:

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

Erstellen Sie den Prozess

CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage

Danach können Sie es wie eine normale Prozedur aufrufen. Zum Beispiel:

EXEC ResizeImage(1,800,600)