MSSQL

Data source: External SQL ServerStandard Edition+

Introdução

MSSQL (SQL Server) pode ser integrado ao NocoBase como banco de dados externo. Após a integração, o NocoBase lerá as tabelas, os campos e as views do SQL Server e os utilizará como tabelas de dados na fonte de dados externa.

Diferentemente do banco de dados principal, a estrutura real das tabelas do MSSQL externo continua sendo mantida pelo sistema de negócios original, pelo cliente de banco de dados ou pelos scripts de migração. O NocoBase é responsável por ler a estrutura, salvar os metadados dos campos e configurar blocos de página, permissões, workflows e APIs.

Item de configuraçãoDescrição
Versões compatíveisSQL Server 2014-2019.
Versões comerciaisCompatível com as edições Standard, Professional e Enterprise.
Plugin correspondente@nocobase/plugin-data-source-external-mssql.
Recursos de conexãoSuporta a configuração de «Encrypt connection» e «Trust server certificate».

Cenários adequados para usar o MSSQL externo:

  • Integrar bancos de dados SQL Server de sistemas de negócios existentes, como ERP, MES, WMS e CRM
  • Criar interfaces de gerenciamento com o NocoBase sem migrar dados históricos
  • Controlar permissões, processar workflows, corrigir dados ou exibir relatórios de tabelas existentes
  • Continuar mantendo a estrutura do banco de dados por DBAs, scripts de migração ou pelo sistema original
Atenção

O MSSQL externo não é o banco de dados do sistema NocoBase. O NocoBase não assume o controle do backup, da restauração, da migração nem das alterações na estrutura das tabelas.

Instalação do plugin

Este plugin é comercial. Para obter detalhes sobre a ativação, consulte: Guia de ativação de plugins comerciais

Adicionar fonte de dados

Em «Gerenciamento de fontes de dados», clique em «Add new», selecione MSSQL e preencha as informações de conexão.

20260709210022

Configurações de conexão comuns:

ConfiguraçãoDescrição
Data source nameNome identificador da fonte de dados, usado como referência em blocos de página, permissões, workflows e APIs. Não pode ser alterado após a criação.
Data source display nameNome exibido da fonte de dados na interface. Recomenda-se usar um nome que os usuários de negócio possam entender, como «ERP SQL Server» ou «Banco financeiro».
Host / PortEndereço e porta do host do SQL Server. A porta padrão geralmente é 1433.
DatabaseNome do banco de dados SQL Server ao qual se conectar.
Username / PasswordConta e senha usadas para conectar ao SQL Server. O NocoBase só pode ler os objetos aos quais essa conta tem permissão de acesso; ele não concederá autorização nem lerá objetos privados de outras contas.
Table prefixPrefixo dos nomes das tabelas. Após configurado, o NocoBase lerá apenas as tabelas e views que correspondam a esse prefixo e gerará no NocoBase nomes de tabelas sem o prefixo.
Encrypt connectionDefine se a conexão criptografada será habilitada. Habilite quando o banco de dados exigir criptografia ou quando o canal de rede precisar ser criptografado.
Trust server certificateDefine se o certificado do servidor será confiável. Pode ser necessário habilitar essa opção em ambientes de teste ou com certificados autoassinados; em produção, recomenda-se usar um certificado confiável.
Collections / Add all collectionsControla o escopo da integração. Quando «Add all collections» está habilitado, o NocoBase integra todas as tabelas e views dentro do escopo atual; quando desabilitado, integra apenas os objetos selecionados em «Collections».
Enabled the data sourceDefine se esta fonte de dados está habilitada. Quando desabilitada, a configuração da fonte de dados é mantida, mas os blocos de página, as permissões, os workflows e as APIs não poderão mais ler seus dados.
Dica

Se houver muitos objetos no SQL Server, restrinja primeiro o escopo por meio de Database, Table prefix e «Collections». Integre apenas as tabelas e views usadas pelo aplicativo atual; assim, a configuração posterior de permissões, a criação de páginas e a manutenção da sincronização serão mais simples.

Selecionar tabelas de dados

Depois de preencher as informações de conexão, clique em «Load Collections» para ler as tabelas e views disponíveis no SQL Server. Os resultados da leitura serão afetados pela conta de conexão, por Database, Table prefix e pela configuração de «Collections».

Por padrão, «Add all collections» estará habilitado, indicando a integração de todas as tabelas e views dentro do escopo atual. Se quiser integrar apenas alguns objetos, desabilite «Add all collections» e selecione na lista as tabelas ou views de que precisa.

add_new_database_configure_load_collection

Atenção

Uma única fonte de dados externa pode integrar no máximo 500 tabelas ou views por vez. Se houver muitos objetos no SQL Server, recomenda-se restringir primeiro o escopo por meio de Database, Table prefix ou «Collections».

Sincronizar e configurar campos

A estrutura das tabelas do MSSQL externo é mantida no banco de dados. O NocoBase não criará campos, alterará tipos de campos nem excluirá campos reais no SQL Server externo.

Quando a estrutura das tabelas no SQL Server for alterada, execute «Sync from database» na fonte de dados para ler novamente os metadados das tabelas e dos campos. A sincronização atualizará no NocoBase as informações salvas sobre tabelas de dados, campos, chaves primárias, chaves únicas e mapeamentos de tipos de campos, mas não excluirá as tabelas ou os dados reais no SQL Server.

Após a sincronização dos campos, você poderá configurar no NocoBase o título do campo, o tipo de campo (Field type) e o componente do campo (Field interface). Se precisar criar campos de relacionamento do NocoBase, os metadados do relacionamento também serão salvos no NocoBase, sem adicionar automaticamente campos de chave estrangeira reais às tabelas do SQL Server.

Mapeamento de tipos de campos

O NocoBase mapeia automaticamente os tipos de campos do SQL Server para o Field type e o Field interface apropriados. Você pode ajustar a forma de exibição na interface na configuração do campo.

Mapeamentos comuns:

Tipo de campo do SQL ServerNocoBase Field typeField interface disponíveis
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。
Atenção

Os tipos de campos do SQL Server que não são compatíveis serão exibidos separadamente na configuração dos campos. Esses campos só poderão ser usados no NocoBase como campos comuns após a implementação de um adaptador.

Chave primária e identificador exclusivo do registro

Para tabelas de dados usadas na exibição e edição em blocos de página, recomenda-se ter uma chave primária ou um campo exclusivo. O NocoBase dará prioridade à chave primária como identificador exclusivo do registro.

Se a integração for de uma view, de uma tabela sem chave primária ou de uma tabela com chave primária composta, será necessário definir manualmente «Record unique key» na configuração da tabela de dados. Sem um identificador exclusivo disponível, os blocos de página poderão não conseguir visualizar, editar ou excluir os registros corretamente.

20260709210154 20260709210214