我同意这里每个人的观点,但如果您确实想要或必须这样做,您可以在 SQL Server 上启用 CLR 集成,创建一个可以调整图像大小的程序集,然后从触发器或过程中调用它。这不是很难。这是描述该过程的页面:http://msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx
基本上是在 SQL Server 上启用 CLR:
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
创建一个 C# 程序集来调整图像大小:
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
}
}
编译程序集
csc /target:library ResizeImageProc.cs
在 SQL Server 中加载程序集:
CREATE ASSEMBLY ResizeImageAssembly from 'c:\ResizeImageProc.dll' WITH PERMISSION_SET = SAFE
创建过程
CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage
之后您可以像正常过程一样调用它。例如:
EXEC ResizeImage(1,800,600)