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.
TINYINTSMALLINTintegerbooleansortInteger, Sort, Checkbox, Switch, Select, Radio group.
INTintegerunixTimestampsortInteger, Sort, Unix timestamp, Select, Radio group.
BIGINTbigIntunixTimestampsortInteger, Sort, Unix timestamp, Created at, Updated at.
DECIMALMONEYSMALLMONEYdecimalNumber, Percent, Currency.
NUMERICFLOATREALfloatNumber, Percent.
CHARVARCHARNCHARNVARCHARstringuuidnanoidInput, Email, Phone, Password, Color, Icon, Select, Radio group, UUID, Nano ID.
TEXTNTEXTtextTextarea, Markdown, Vditor, Rich text, URL.
DATEdateOnlyDate.
TIMEtimeTime.
DATETIMEDATETIME2datetimeNoTzDate, Time, Created at, Updated at.
DATETIMEOFFSETdatetimeTzDate, Time, Created at, Updated at.
UNIQUEIDENTIFIERuuidstringUUID, Input.
JSONjsonarrayJSON.
Внимание

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

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

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

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

20260709210154 20260709210214

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