Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Data Explorer udostępnia punkt końcowy strumienia danych tabelarycznych (TDS), który umożliwia wykonywanie zapytań dotyczących danych w sposób podobny do sposobu wykonywania zapytań dotyczących danych w programie SQL Server. Punkt końcowy obsługuje usługi TDS w wersjach 7.x i 8.0.
W tym artykule dowiesz się, jak uruchamiać przechowywane funkcje i zapytania język zapytań Kusto (KQL) z zgodnego klienta SQL.
Uwaga
Informacje zawarte w tym artykule dotyczą uruchamiania sparametryzowanych wywołań za pośrednictwem protokołu TDS, znanego również jako wywołania RPC.
Aby uzyskać więcej informacji, zobacz omówienie emulacji programu SQL Server w usłudze Azure Data Explorer.
Uruchamianie zapytań KQL
Procedura sp_execute_kql
składowana SQL może służyć do uruchamiania zapytań KQL , w tym zapytań sparametryzowanych. Procedura jest podobna sp_executesql
do procedury składowanej.
Uwaga
Procedura sp_execute_kql
może być wywoływana tylko za pośrednictwem wywołania RPC, jak pokazano w poniższym przykładzie, a nie z poziomu zwykłego zapytania SQL.
Pierwszym parametrem sp_execute_kql
jest zapytanie KQL, a wszystkie inne parametry są traktowane jako parametry zapytania. W poniższym przykładzie pokazano, jak używać polecenia sp_execute_kql
.
using (var connection = new SqlConnection(csb.ToString()))
{
await connection.OpenAsync();
using (var command = new SqlCommand("sp_execute_kql", connection))
{
command.CommandType = CommandType.StoredProcedure;
var query = new SqlParameter("@kql_query", SqlDbType.NVarChar);
command.Parameters.Add(query);
var parameter = new SqlParameter("mylimit", SqlDbType.Int);
command.Parameters.Add(parameter);
query.Value = "StormEvents | take myLimit";
parameter.Value = 3;
using (var reader = await command.ExecuteReaderAsync())
{
// Read the response.
}
}
}
Uwaga
Podczas wywoływania sp_execute_kql
za pośrednictwem TDS typy parametrów są ustawiane przez protokół i nie muszą być deklarowane.
Wywoływanie funkcji przechowywanych
Można tworzyć i wywoływać funkcje składowane, takie jak procedury składowane SQL. Jeśli na przykład masz funkcję przechowywaną zgodnie z opisem w poniższej tabeli, możesz ją wywołać, jak pokazano w przykładzie kodu.
Nazwisko | Parametry | Treść | Folder | DocString |
---|---|---|---|---|
MyFunction | (myLimit: long) | {StormEvents | take myLimit} | Mójfolder | Funkcja demonstracyjna z parametrem |
using (var connection = new SqlConnection(csb.ToString()))
{
await connection.OpenAsync();
using (var command = new SqlCommand("kusto.MyFunction", connection))
{
command.CommandType = CommandType.StoredProcedure;
var parameter = new SqlParameter("mylimit", SqlDbType.Int);
command.Parameters.Add(parameter);
parameter.Value = 3;
using (var reader = await command.ExecuteReaderAsync())
{
// Read the response.
}
}
}
Uwaga
Aby odróżnić przechowywane funkcje i emulowane procedury składowane systemu SQL, wywołaj funkcje składowane z jawnym odwołaniem do schematu kusto
. W tym przykładzie przechowywana funkcja jest wywoływana przy użyciu polecenia kusto.Myfunction
.