Aracılığıyla paylaş


clr tümleştirme özel öznitelikler genel bakış

Common language runtime (clr), .NET Framework tanımlayıcı anahtar sözcükler, adlý kullanımını sağlar.öznitelikleri. Bu öznitelikler, yöntemleri ve sınıfları gibi çeşitli öğeler için ek bilgi sağlar.Derleme özniteliklerini kaydedilir meta veriler nesnesi ve diğer geliştirme araçları kodunuzu açıklamak için veya içindeki çalışma zamanı davranışını etkiler için kullanılan SQL Server.

Bir clr yordam ile kayıt ne zaman SQL Server, SQL Server türeyen bir küme özellikleri hakkında yordam.Bu rutin özellikleri yordam yordam dizini olup olmadığını da dahil olmak üzere, yeteneklerini belirler.Örneğin, DataAccess özellik için DataAccessKind.Read veri erişim sağlar SQL Server kullanıcı tablo içinde bir clr işlev.Aşağıdaki örnek, basit bir örnek gösterir DataAccess özellik, bir kullanıcının veri erişimi kolaylaştırmak için küme tablo tablo1.

using System;
using System.Data;
using System.Data.Sql;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Data.SqlClient;

public partial class UserDefinedFunctions
{
    [SqlFunction(DataAccess = DataAccessKind.Read)]
    public static string func1()
    {
        // Open a connection and create a command
        SqlConnection conn = new SqlConnection("context connection = true");
        conn.Open();
        SqlCommand cmd = conn.CreateCommand();
        cmd.CommandText = "SELECT str_val FROM table1 WHERE int_val = 10";
        // where table1 is a user table
        // Execute this command 
        SqlDataReader rd = cmd.ExecuteReader();
        // Set string ret_val to str_val returned from the query
        string ret_val = rd.GetValue(0).ToString();
        rd.Close();
        return ret_val;
    }
}
Imports System
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
Imports System.Data.SqlClient
 
Public partial Class UserDefinedFunctions
    <SqlFunction(DataAccess = DataAccessKind.Read)> _ 
    Public Shared Function func1() As String
        ' Open a connection and create a command
        Dim conn As SqlConnection = New SqlConnection("context connection = true") 
        conn.Open()
        Dim cmd As SqlCommand =  conn.CreateCommand() 
        cmd.CommandText = "SELECT str_val FROM table1 WHERE int_val = 10"
        ' where table1 is a user table
        ' Execute this command 
        Dim rd As SqlDataReader =  cmd.ExecuteReader() 
        ' Set string ret_val to str_val returned from the query
        Dim ret_val As String =  rd.GetValue(0).ToString() 
        rd.Close()
        Return ret_val
    End Function
End Class

İçin Transact-SQL yordamları, SQL Server türeyen olağan özelliklerinden doğrudan rutin bir tanım.clr yordamları için sunucu bu özelliklerini türetmek için yordam gövdesinde analiz.Bunun yerine, sınıfları için özel öznitelikleri kullanabilirsiniz ve sınıf üyesi uygulanan bir .NET Framework dili.

clr yordamları, kullanıcı tanımlı türler ve toplamları için gereken özel öznitelikleri tanımlanır Microsoft.SqlServer.Server ad.