MSSQL

Источник данных: внешний SQL ServerStandard Edition+

Введение

MSSQL (SQL Server) можно подключить к NocoBase в качестве внешней базы данных. После подключения NocoBase считывает из SQL Server таблицы, поля и представления и использует их как таблицы данных во внешнем источнике данных.

В отличие от основной базы данных, фактическая структура таблиц внешнего MSSQL по-прежнему поддерживается исходной бизнес-системой, клиентом базы данных или скриптами миграции. NocoBase отвечает за чтение структуры, сохранение метаданных полей, настройку блоков страниц, прав доступа, рабочих процессов и API.

ПараметрОписание
Поддерживаемые версииSQL Server 2014–2019.
Коммерческие версииПоддерживаются стандартная, профессиональная и корпоративная версии.
Соответствующий плагин@nocobase/plugin-data-source-external-mssql.
Особенности подключенияПоддерживается настройка параметров «Encrypt connection» и «Trust server certificate».

Внешний MSSQL подходит для следующих сценариев:

  • подключение к базам данных SQL Server существующих бизнес-систем ERP, MES, WMS, CRM и других
  • создание интерфейса управления в NocoBase без переноса исторических данных
  • настройка прав доступа, обработка процессов, исправление данных или отображение отчётов для существующих таблиц
  • дальнейшее обслуживание структуры базы данных со стороны DBA, скриптов миграции или исходной системы
Внимание

Внешний MSSQL не является системной базой данных NocoBase. NocoBase не управляет её резервным копированием, восстановлением, миграцией и изменением структуры таблиц.

Установка плагина

Этот плагин является коммерческим. Подробные сведения об активации см. в руководстве по активации коммерческих плагинов

Добавление источника данных

В разделе «Управление источниками данных» нажмите «Add new», выберите MSSQL и заполните данные подключения.

20260709210022

Основные параметры подключения:

ПараметрОписание
Data source nameИдентификационное имя источника данных, используемое для ссылок на него в блоках страниц, правах доступа, рабочих процессах и API. После создания изменить его нельзя.
Data source display nameИмя источника данных, отображаемое в интерфейсе. Рекомендуется использовать понятное бизнес-пользователям имя, например «ERP SQL Server» или «Финансовая база».
Host / PortАдрес и порт хоста SQL Server. Порт по умолчанию обычно — 1433.
DatabaseИмя базы данных SQL Server, к которой нужно подключиться.
Username / PasswordУчётные данные для подключения к SQL Server. NocoBase может считывать только объекты, к которым у этой учётной записи есть доступ; права на другие объекты и доступ к ним не предоставляются.
Table prefixПрефикс имени таблицы. После настройки NocoBase считывает только таблицы и представления, соответствующие этому префиксу, и создаёт в NocoBase имена таблиц без префикса.
Encrypt connectionВключение шифрованного подключения. Включите этот параметр, если база данных требует шифрования или сетевое соединение должно быть зашифровано.
Trust server certificateДоверие к сертификату сервера. Может потребоваться в тестовой среде или при использовании самоподписанного сертификата; в рабочей среде рекомендуется использовать доверенный сертификат.
Collections / Add all collectionsУправление областью подключения. Если включить «Add all collections», NocoBase подключит все таблицы и представления в текущей области; если отключить, будут подключены только объекты, выбранные в «Collections».
Enabled the data sourceВключение источника данных. После отключения конфигурация источника сохранится, но блоки страниц, права доступа, рабочие процессы и API больше не смогут считывать его данные.
Совет

Если в SQL Server много объектов, сначала сузьте область с помощью Database, Table prefix и «Collections». Подключайте только таблицы и представления, которые будут использоваться текущим приложением: это упростит последующую настройку прав доступа, создание страниц и синхронизацию.

Выбор таблиц данных

После заполнения данных подключения нажмите «Load Collections», чтобы загрузить доступные в SQL Server таблицы данных и представления. Результаты загрузки зависят от учётной записи подключения, Database, Table prefix и настройки «Collections».

По умолчанию включён параметр «Add all collections», то есть подключаются все таблицы и представления в текущей области. Если нужно подключить только некоторые объекты, отключите «Add all collections», а затем выберите необходимые таблицы или представления в списке.

add_new_database_configure_load_collection

Внимание

Один внешний источник данных может одновременно подключить не более 500 таблиц или представлений. Если в SQL Server много объектов, сначала сузьте область с помощью Database, Table prefix или «Collections».

Синхронизация и настройка полей

Структура таблиц внешнего MSSQL поддерживается на стороне базы данных. NocoBase не создаёт поля во внешнем SQL Server, не изменяет типы полей и не удаляет реальные поля.

После изменения структуры таблиц на стороне SQL Server можно выполнить «Sync from database» в источнике данных, чтобы повторно считать метаданные таблиц и полей. Синхронизация обновляет сохранённые в NocoBase таблицы данных, поля, первичные ключи, уникальные ключи и сведения о сопоставлении типов полей, но не удаляет реальные таблицы или данные в SQL Server.

После синхронизации полей в NocoBase можно настроить заголовок поля, тип поля (Field type) и компонент поля (Field interface). Если требуется создать поле связи NocoBase, его метаданные связи также сохраняются в NocoBase; реальные внешние ключи в таблице SQL Server автоматически не добавляются.

Сопоставление типов полей

NocoBase автоматически сопоставляет типы полей SQL Server с подходящими Field type и Field interface. Способ отображения в интерфейсе можно изменить в настройках поля.

Основные варианты сопоставления:

Тип поля SQL ServerNocoBase Field typeДоступный Field interface
BITbitCheckbox, Switch.
TINYINT, SMALLINTinteger, boolean, sortInteger, Sort, Checkbox, Switch, Select, Radio group.
INTinteger, unixTimestamp, sortInteger, Sort, Unix timestamp, Select, Radio group.
BIGINTbigInt, unixTimestamp, sortInteger, Sort, Unix timestamp, Created at, Updated at.
DECIMAL, MONEY, SMALLMONEYdecimalNumber, Percent, Currency.
NUMERIC, FLOAT, REALfloatNumber, Percent.
CHAR, VARCHAR, NCHAR, NVARCHARstring, uuid, nanoidInput, Email, Phone, Password, Color, Icon, Select, Radio group, UUID, Nano ID.
TEXT, NTEXTtextTextarea, Markdown, Vditor, Rich text, URL.
DATEdateOnlyDate.
TIMEtimeTime.
DATETIME, DATETIME2datetimeNoTzDate, Time, Created at, Updated at.
DATETIMEOFFSETdatetimeTzDate, Time, Created at, Updated at.
UNIQUEIDENTIFIERuuid, stringUUID, Input.
JSONjson, arrayJSON.
Внимание

Неподдерживаемые типы полей SQL Server будут отдельно отображаться в настройках полей. Чтобы использовать такие поля в NocoBase как обычные, потребуется разработать адаптацию.

Первичный ключ и уникальный идентификатор записи

Для таблиц данных, используемых в блоках страниц для отображения и редактирования, рекомендуется наличие первичного ключа или уникального поля. NocoBase в первую очередь использует первичный ключ в качестве уникального идентификатора записи.

Если подключается представление, таблица без первичного ключа или таблица с составным первичным ключом, необходимо вручную указать «Record unique key» в настройках таблицы данных. Если доступного уникального идентификатора нет, блоки страниц могут работать некорректно при просмотре, редактировании или удалении записей.

20260709210154 20260709210214

Связанные ссылки