Бөлісу құралы:


Что такое расширение языка C#?

Область применения: SQL Server 2019 (15.x) и более поздних версий

Расширение языка C# — это функция расширений языка SQL Server, которые можно использовать для выполнения кода C# в SQL Server. Вы можете передать существующую таблицу SQL Server в приложение C# в виде DataFrame, выполнить операции на языке C# с помощью полнофункциональных библиотек и получить результирующий набор. Это расширение языка C# позволяет повторно использовать существующий код C#, вычисления, логику или обширные библиотеки, которые предоставляют функциональные возможности, которые не могут быть доступны в Transact-SQL (T-SQL).

Внешний код C# определяется с помощью инструкции CREATE EXTERNAL LANGUAGE. Системная хранимая процедура sp_execute_external_script используется в качестве интерфейса для выполнения кода C#.

Примечание.

Расширение языка C# совместимо с SQL Server 2019 (15.x) CU 3 и более поздними версиями. В настоящее время она интегрирует .NET Core только в SQL Server для Windows. ОС Linux не поддерживается.

Что можно сделать

Расширение языка C# использует платформу расширяемости для выполнения внешнего кода C#. Выполнение кода изолировано от процессов ядра, но полностью интегрировано с выполнением запросов SQL Server. Вы можете выполнять код C# в источнике данных, чтобы не передавать данные по сети.

Вы можете выполнять очистку данных, быстрый запрос данных или любую другую обработку в C#, которая может выполняться через DataFrame. При внедрении кода C# в хранимые процедуры можно передать бизнес-логику в базу данных для повышения производительности. Это помогает избежать ненужных перемещений данных и задержки, так как данные не нужно извлекать из SQL Server и перемещать их на уровень приложений для обработки бизнес-логики.

Начало работы

  1. Установите расширение языка SQL Server .NET в Windows.

  2. Настройка средств разработки.

  3. Напишите первый код C#. Используйте следующее руководство в качестве отправной точки. Руководство. Поиск строки с помощью регулярных выражений (regex) в C#.