windows - SQL Server Extended Stored Procedures

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg ved, at Extended Stored Procedures er i gårsdagens nyheder, men de har stadig deres plads.


Er der nogen, der ved, hvordan man får det nuværende Connection ID fra en Extended Stored Procedure?


Tak.

Bedste reference


Ved hjælp af udvidede gemte procedurer fra .NET udføres din kode fra CLR hostet til SQLServer. Af denne grund behøver du ikke at 'relogin', du kan oprette forbindelse til den eksisterende kontekst ved hjælp af kontekstforbindelsestrengen 'Kontekstforbindelse=sand'. Derefter kan du få sessionens ID for den aktuelle brugerproces ved hjælp af @@SPID t -sql kommando. [3]


Prøv dette kodestykke:


using (var cnn = new SqlConnection("context connection=true"))
{
    cnn.Open();     
    using(var cmd = new SqlCommand("SELECT @@SPID", cnn))
    {
        Console.WriteLine(Convert.ToString(cmd.ExecuteScalar()));
    }
}