2010-10-23 5 views
5

SQL Server 2005 prend en charge CLR, ce qui signifie que nous pouvons utiliser CLR en backend, comment faire, j'ai une fonction dans C# qui fait une manipulation complexe avec la variable date-heure maintenant je veux utiliser ces fonctions dans SP. Tout d'abord, est-il possible de faire cela.Comment appeler la fonction C# dans la procédure stockée

+0

quel genre de " un complexe manipulation avec une variable date-heure "; Personnellement, je n'en ai pas rencontré un qui ne puisse être fait en TSQL ... –

+0

oui vous avez raison de faire toutes les manipulations avec datetime en TSQL. ici la partie de manipulation complexe est en dll donc nous devons les utiliser (réutilisation). donc Ma question est peut-on appeler ces fonctions dans TSQL? –

Répondre

-1

Jetez un oeil cet exemple TSQL

USE [XXX] GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[Testing_XXX] 
@broadcastId [int], 
@XXXTemplateHtml [nvarchar](max), 
@XXXTemplateText [nvarchar](max), 
@XXXTemplateSubject [nvarchar](max), 
@XXXTemplateEmailHeaders [nvarchar](max), 
@XXXTemplateHeader [nvarchar](max), 
@XXXTemplateFooter [nvarchar](max), 
@masterTemplate [nvarchar](max), 
@parseOptions [nvarchar](4000), 
@xsltTemplate [nvarchar](max) OUTPUT WITH EXECUTE AS CALLER AS EXTERNAL NAME SolutionXXX.ProjectXXX].[StoredProcedures].[XXX_Parser_Parse] GO 

Lorsque vous appelez

EXTERNAL NAME [SolutionXXX.ProjectXXX].[StoredProcedures].[XXX_Parser_Parse] 

Il appelle une fonction C# ressemble à ceci

[SqlProcedure] 
public static void XXX_Parser_Parse(
    SqlInt32 broadcastId, 
    [SqlFacet(MaxSize = -1)] 
    SqlString XXXTemplateHtml, 
    [SqlFacet(MaxSize = -1)] 
    SqlString XXXTemplateText, 
    [SqlFacet(MaxSize = -1)] 
    SqlString XXXTemplateSubject, 
    [SqlFacet(MaxSize = -1)] 
    SqlString XXXTemplateEmailHeaders, 
    [SqlFacet(MaxSize = -1)] 
    SqlString XXXTemplateHeader, 
    [SqlFacet(MaxSize = -1)] 
    SqlString XXXTemplateFooter, 
    [SqlFacet(MaxSize = -1)] 
    SqlString masterTemplate, 
    SqlString parseOptions, 
    [SqlFacet(MaxSize = -1)] 
    out SqlString xsltTemplate) 
{ 
//blah blah blh 
} 
Questions connexes