MSSQL

Data source: External SQL ServerStandard Edition+

Présentation

MSSQL (SQL Server) peut être connecté à NocoBase en tant que base de données externe. Une fois la connexion établie, NocoBase lit les tables, les champs et les vues de SQL Server, puis les utilise comme tables de données dans la source de données externe.

Contrairement à la base de données principale, la structure réelle des tables MSSQL externes continue d’être gérée par le système métier d’origine, le client de base de données ou les scripts de migration. NocoBase se charge de lire la structure, d’enregistrer les métadonnées des champs et de configurer les blocs de page, les autorisations, les workflows et les API.

Élément de configurationDescription
Versions prises en chargeSQL Server 2014-2019.
Éditions commercialesLes éditions Standard, Professional et Enterprise sont prises en charge.
Plugin correspondant@nocobase/plugin-data-source-external-mssql.
Fonctionnalités de connexionPrise en charge de la configuration de « Encrypt connection » et de « Trust server certificate ».

Cas d’utilisation adaptés à MSSQL externe :

  • Connecter les bases de données SQL Server de systèmes métier existants tels que des ERP, MES, WMS ou CRM
  • Créer une interface de gestion avec NocoBase sans migrer les données historiques
  • Gérer les autorisations, les processus, la correction des données ou l’affichage de rapports pour des tables existantes
  • Continuer à faire gérer la structure de la base de données par le DBA, les scripts de migration ou le système d’origine
Attention

MSSQL externe n’est pas la base de données système de NocoBase. NocoBase ne prend pas en charge ses sauvegardes, restaurations, migrations ni modifications de structure de tables.

Installation du plugin

Ce plugin est un plugin commercial. Pour connaître la procédure d’activation, consultez le guide d’activation des plugins commerciaux

Ajouter une source de données

Dans « Gestion des sources de données », cliquez sur « Add new », sélectionnez MSSQL, puis renseignez les informations de connexion.

20260709210022

Les paramètres de connexion courants sont les suivants :

ConfigurationDescription
Data source nameNom d’identification de la source de données, utilisé pour y faire référence dans les blocs de page, les autorisations, les workflows et les API. Il ne peut pas être modifié après la création.
Data source display nameNom affiché pour la source de données dans l’interface. Il est recommandé d’utiliser un nom compréhensible par les utilisateurs métier, comme « ERP SQL Server » ou « Base financière ».
Host / PortAdresse de l’hôte et port de SQL Server. Le port par défaut est généralement 1433.
DatabaseNom de la base de données SQL Server à laquelle se connecter.
Username / PasswordNom d’utilisateur et mot de passe utilisés pour se connecter à SQL Server. NocoBase peut uniquement lire les objets auxquels ce compte est autorisé à accéder ; il n’accorde pas d’autorisations et ne lit pas les objets privés d’autres comptes.
Table prefixPréfixe des noms de tables. Une fois configuré, NocoBase ne lit que les tables et les vues correspondant à ce préfixe et génère dans NocoBase des noms de tables sans préfixe.
Encrypt connectionIndique s’il faut activer le chiffrement de la connexion. Activez cette option lorsque la base de données impose le chiffrement ou que la liaison réseau doit être chiffrée.
Trust server certificateIndique s’il faut faire confiance au certificat du serveur. Cette option peut être nécessaire dans un environnement de test ou avec un certificat autosigné ; en production, il est recommandé d’utiliser un certificat approuvé.
Collections / Add all collectionsContrôle l’étendue de la connexion. Lorsque « Add all collections » est activé, NocoBase connecte toutes les tables et vues de l’étendue actuelle ; lorsqu’il est désactivé, seules les objets sélectionnés dans « Collections » sont connectés.
Enabled the data sourceIndique s’il faut activer cette source de données. Lorsqu’elle est désactivée, sa configuration est conservée, mais les blocs de page, les autorisations, les workflows et les API ne peuvent plus lire ses données.
Conseil

Si SQL Server contient beaucoup d’objets, réduisez en priorité l’étendue à l’aide de Database, Table prefix et de « Collections ». Ne connectez que les tables et les vues utilisées par l’application actuelle afin de simplifier la configuration ultérieure des autorisations, la création des pages et la maintenance de la synchronisation.

Sélectionner les tables de données

Après avoir renseigné les informations de connexion, vous pouvez cliquer sur « Load Collections » pour charger les tables et les vues disponibles dans SQL Server. Les résultats dépendent du compte de connexion, de Database, de Table prefix et de la configuration de « Collections ».

Par défaut, « Add all collections » est activé, ce qui signifie que toutes les tables et vues de l’étendue actuelle seront connectées. Si vous souhaitez ne connecter qu’une partie des objets, désactivez « Add all collections », puis cochez les tables ou les vues nécessaires dans la liste.

add_new_database_configure_load_collection

Attention

Une source de données externe peut connecter au maximum 500 tables ou vues à la fois. Si SQL Server contient beaucoup d’objets, il est recommandé de réduire d’abord l’étendue à l’aide de Database, Table prefix ou de « Collections ».

Synchroniser et configurer les champs

La structure des tables MSSQL externes est gérée côté base de données. NocoBase ne crée pas de champs, ne modifie pas les types de champs et ne supprime pas les champs réels dans SQL Server externe.

Lorsque la structure d’une table change côté SQL Server, vous pouvez exécuter « Sync from database » dans la source de données afin de relire les métadonnées des tables et des champs. La synchronisation met à jour les informations enregistrées dans NocoBase concernant les tables de données, les champs, les clés primaires, les clés uniques et le mappage des types de champs, mais elle ne supprime ni les tables ni les données réelles dans SQL Server.

Après la synchronisation des champs, vous pouvez configurer dans NocoBase le libellé du champ, son type (Field type) et son composant (Field interface). Si vous devez créer des champs de relation NocoBase, les métadonnées de relation sont également enregistrées dans NocoBase ; aucun champ de clé étrangère réel n’est automatiquement ajouté aux tables SQL Server.

Mappage des types de champs

NocoBase mappe automatiquement les types de champs SQL Server vers un Field type et un Field interface appropriés. Vous pouvez ajuster le mode d’affichage dans la configuration du champ.

Les mappages courants sont les suivants :

Type de champ SQL ServerNocoBase Field typeField interface disponibles
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。
Attention

Les types de champs SQL Server non pris en charge sont affichés séparément dans la configuration des champs. Ces champs doivent faire l’objet d’une adaptation par développement avant de pouvoir être utilisés comme des champs ordinaires dans NocoBase.

Clé primaire et identifiant unique des enregistrements

Pour les tables de données utilisées dans les blocs de page pour l’affichage et la modification, il est recommandé de disposer d’une clé primaire ou d’un champ unique. NocoBase utilise en priorité la clé primaire comme identifiant unique de l’enregistrement.

Si vous connectez une vue, une table sans clé primaire ou une table avec une clé primaire composite, vous devez définir manuellement « Record unique key » dans la configuration de la table de données. En l’absence d’identifiant unique disponible, les blocs de page peuvent ne pas permettre d’afficher, de modifier ou de supprimer correctement les enregistrements.

20260709210154 20260709210214

Liens associés