Ir para o conteúdo

Detalhes da Conexão do Dynamics 365 Business Central

Introdução

Versão do conector

Esta documentação é baseada na versão 21.0.8257 do conector.

Começando

Suporte à versão do Dynamics 365 Business Central

O conector dá suporte ao acesso de leitura/gravação ao Dynamics 365 Business Central por meio de serviços Web OData.

Estabelecendo uma Conexão

Conectando-se ao Dynamics 365 Business Central

Autenticação Usando a Entidade de Serviço do Azure

A Entidade de Serviço do Azure é um tipo de conexão que passa por OAuth. Defina seu AuthScheme para AzureServicePrincipal e consulte Usando a Autenticação Principal de Serviço do Azure para obter um guia de autenticação.

Usando Autenticação OAuth

OAuth requer que o usuário autenticado interaja com o Dynamics 365 Business Central usando o navegador. O conector facilita isso de várias maneiras, conforme descrito abaixo.

Credenciais Incorporadas

Consulte Credenciais incorporadas para se conectar com as credenciais incorporadas do conector e pule a criação de um aplicativo OAuth personalizado.

Credenciais Personalizadas

Em vez de se conectar com as credenciais incorporadas do conector, você pode registrar um aplicativo com Custom Credentials para obter o OAuthClientId e OAuthClientSecret.

Quando Criar um Aplicativo OAuth Personalizado

A criação de um aplicativo OAuth personalizado é opcional, pois o conector já está registrado no Dynamics 365 Business Central e você pode se conectar com suas credenciais incorporadas. Talvez você queira criar um aplicativo OAuth personalizado para alterar as informações exibidas quando os usuários fazem logon no endpoint OAuth do Dynamics 365 Business Central para conceder permissões ao conector.

Criando um Aplicativo OAuth Personalizado

Consulte Criando um aplicativo OAuth personalizado para um procedimento.

Credenciais Incorporadas

Autenticar Usando as Credenciais OAuth Incorporadas
Autenticação de Desktop com o Aplicativo OAuth Incorporado

Você pode se conectar sem definir nenhuma propriedade de conexão para suas credenciais de usuário.

Quando você se conecta, o conector abre o endpoint OAuth em seu navegador padrão. Faça login e conceda permissões ao aplicativo. O conector então conclui o processo OAuth.

  1. Extrai o token de acesso do URL de retorno de chamada e autentica as solicitações.
  2. Obtém um novo token de acesso quando o antigo expira.
  3. Salva valores OAuth em OAuthSettingsLocation para ser persistido nas conexões.

Credenciais Personalizadas

Existem dois tipos de autenticação de aplicativo disponíveis: usando um segredo do cliente e usando um certificado. Você pode usar qualquer um deles dependendo da autenticação de aplicativo configurada.

Autenticação de Área de Trabalho com Seu Aplicativo OAuth

Siga as etapas abaixo para autenticar com as credenciais de um aplicativo OAuth personalizado. Consulte Criando um aplicativo OAuth personalizado.

Obtenha um Token de Acesso OAuth

Você está pronto para se conectar após definir um dos grupos de propriedades de conexão abaixo, dependendo do tipo de autenticação.

  1. Authenticating using a Client Secret
    • OAuthClientId: Defina isso como o ID do cliente nas configurações do aplicativo.
    • OAuthClientSecret: Defina isso como o segredo do cliente nas configurações do aplicativo.
    • CallbackURL: Defina isso para o URL de redirecionamento nas configurações do aplicativo.
    • AuthScheme: Defina isso como "AzureAD" nas configurações do aplicativo.
    • InitiateOAuth: Defina como GETANDREFRESH. Você pode usar InitiateOAuth para evitar a repetição da troca OAuth e definir manualmente o OAuthAccessToken..
  2. Authenticating using a Certificate
    • OAuthClientId: Defina isso como o ID do cliente nas configurações do aplicativo.
    • OAuthJWTCert: Defina isso para o armazenamento de certificados JWT.
    • OAuthJWTCertType: Defina isso para o tipo de armazenamento de certificado especificado por OAuthJWTCert.
    • CallbackURL: Defina isso para o URL de redirecionamento nas configurações do aplicativo.
    • AuthScheme: Defina isso como "AzureAD" nas configurações do aplicativo.
    • InitiateOAuth: Defina como GETANDREFRESH. Você pode usar InitiateOAuth para evitar repetir a troca de OAuth e configurar manualmente o OAuthAccessToken..

Quando você conecta, o conector abre o endpoint OAuth em seu navegador padrão. Faça login e conceda permissões ao aplicativo. O conector então conclui o processo OAuth:

  1. Extrai o token de acesso da URL de retorno de chamada e autentica as solicitações.
  2. Obtém um novo token de acesso quando o antigo expira.
  3. Salva valores OAuth em OAuthSettingsLocation para ser persistido nas conexões.

Máquinas Sem Cabeça

Usando OAuth em uma Máquina Sem Cabeça

Para criar fontes de dados do Dynamics 365 Business Central em servidores headless ou outras máquinas nas quais o conector não pode abrir um navegador, você precisa autenticar de outra máquina. A autenticação é um processo de duas etapas.

  1. Ao invés de instalar o conector em outra máquina, você pode seguir os passos abaixo para obter o OAuthVerifier valor. Ou você pode instalar o conector em outra máquina e transferir os valores de autenticação OAuth, depois de autenticar por meio do fluxo normal baseado em navegador.
  2. Em seguida, você pode configurar o conector para atualizar automaticamente o token de acesso da máquina sem periféricos.

Você pode seguir o fluxo de autenticação OAuth headless usando as credenciais OAuth incorporadas do conector ou usando as credenciais OAuth para seu aplicativo OAuth personalizado.

Usando as Credenciais para um Aplicativo OAuth Personalizado

Crie um aplicativo OAuth personalizado

Consulte Criando um aplicativo OAuth personalizado para um procedimento. Você pode seguir os procedimentos abaixo para autenticar e conectar-se aos dados.

Obtenha um código verificador

Na máquina sem periféricos, defina um dos seguintes grupos de propriedades, dependendo do tipo de autenticação:

  1. Authenticating using a Client Secret
    • InitiateOAuth: Defina como DESLIGADO.
    • OAuthClientId: Defina isso como o ID do aplicativo nas configurações do aplicativo.
    • OAuthClientSecret: Defina isso como o Segredo do aplicativo nas configurações do aplicativo.
  2. Authenticating using a Certificate
    • InitiateOAuth: Defina como DESLIGADO.
    • OAuthClientId: Defina isso como o ID do aplicativo nas configurações do aplicativo.
    • OAuthJWTCert: Defina isso para o armazenamento de certificados JWT.
    • OAuthJWTCertType: Defina isso para o tipo de armazenamento de certificado especificado por OAuthJWTCert.

Você pode seguir as etapas abaixo para autenticar em outra máquina e obter o OAuthVerifier propriedade de conexão.

  1. Chame o GetOAuthAuthorizationUrl procedimento armazenado* com o parâmetro de entrada CallbackURL definido para o URI de redirecionamento exato que você especificou nas configurações do aplicativo.
  2. Abra o URL retornado em um navegador. Faça login e conceda permissões ao conector. Você será redirecionado para a URL de retorno de chamada. A página da Web indicará que o site não pôde ser acessado.
  3. Inspecione o URL da página deste site e encontre o code valor. Ele estará presente na URL no formato code=XXXXXX (terminado com &, que denota o próximo parâmetro da URL ) O valor após o "code=" é o código do verificador.
  4. Salve o valor do código do verificador. Você definirá isso no OAuthVerifier propriedade de conexão.

Na máquina sem periféricos, defina um dos seguintes grupos de propriedades de conexão dependendo do tipo de autenticação para obter os valores de autenticação OAuth:

  • OAuthClientId: Defina isso como a chave do consumidor nas configurações do aplicativo.
  • OAuthClientSecret: Defina isso como o segredo do consumidor nas configurações do aplicativo.
  • OAuthVerifier: Defina isso para o código do verificador.
  • OAuthSettingsLocation: Defina para manter os valores de autenticação OAuth criptografados no arquivo especificado.
  • InitiateOAuth: Configure para ATUALIZAR.

Conecte-se aos dados

Depois que o arquivo de configurações OAuth for gerado, defina as seguintes propriedades para se conectar aos dados:

  • OAuthSettingsLocation: Defina isso para o arquivo que contém os valores de autenticação OAuth criptografados. Certifique-se de que este arquivo forneça permissões de leitura e gravação ao provedor para ativar a atualização automática do token de acesso.
  • InitiateOAuth: Configure para ATUALIZAR.

Configurações de transferência OAuth

Siga as etapas abaixo para instalar o conector em outra máquina, autenticar e depois transferir os valores OAuth resultantes.

Em uma segunda máquina, instale o conector e conecte-se a um dos seguintes grupos de propriedades, dependendo do tipo de autenticação:

  1. Authenticating using a Client Secret
    • OAuthSettingsLocation: Defina isso como um arquivo de texto gravável.
    • InitiateOAuth: Defina como GETANDREFRESH.
    • OAuthClientId: Defina isso como o ID do cliente nas configurações do aplicativo.
    • OAuthClientSecret: Defina isso como o segredo do cliente nas configurações do aplicativo.
    • CallbackURL: Defina isso para o URL de retorno de chamada nas configurações do aplicativo.
  2. Authenticating using a Certificate
    • OAuthSettingsLocation: Defina isso como um arquivo de texto gravável.
    • InitiateOAuth: Defina como GETANDREFRESH.
    • OAuthClientId: Defina isso como o ID do cliente nas configurações do aplicativo.
    • OAuthJWTCert: Defina isso para o armazenamento de certificados JWT.
    • OAuthJWTCertType: Defina isso para o tipo de armazenamento de certificado especificado por OAuthJWTCert.
    • CallbackURL: Defina isso para o URL de retorno de chamada nas configurações do aplicativo.

Teste a conexão para autenticar. Os valores de autenticação resultantes são gravados, criptografados, no caminho especificado por OAuthSettingsLocation. Depois de testar a conexão com sucesso, copie o arquivo de configurações OAuth para sua máquina sem periféricos. Na máquina sem periféricos, defina as seguintes propriedades de conexão para se conectar aos dados:

  • InitiateOAuth: Configure para ATUALIZAR.
  • OAuthSettingsLocation: Defina isso como o caminho para o arquivo de configurações OAuth. Certifique-se de que este arquivo forneça permissões de leitura e gravação ao conector para habilitar a atualização automática do token de acesso.

Criando um Aplicativo OAuth Personalizado

Quando Criar um Aplicativo OAuth Personalizado

A criação de um aplicativo OAuth personalizado é opcional, pois o conector já está registrado no Dynamics 365 Business Central e você pode se conectar com suas credenciais incorporadas.

Talvez você queira criar um aplicativo OAuth personalizado para alterar as informações exibidas quando os usuários fazem logon no endpoint OAuth do Dynamics 365 Business Central para conceder permissões ao conector.

Siga as etapas abaixo para criar um aplicativo OAuth personalizado e obter as propriedades de conexão em um fluxo de autenticação OAuth específico.

Etapas para Criar um Aplicativo OAuth Personalizado

Siga as etapas abaixo para obter os valores OAuth para seu aplicativo, o OAuthClientId e OAuthClientSecret.

  1. Faça login em https://portal.azure.com.
  2. No painel de navegação à esquerda, selecione Azure Active Directory, em seguida, Registros de aplicativos e clique no botão Novo registro.
  3. Insira um nome de aplicativo e defina o botão de opção para a configuração de locatário desejada. Ao criar um aplicativo OAuth personalizado no Azure Active Directory, você pode definir se o aplicativo é único ou multilocatário. Se você selecionar a opção padrão "Somente contas neste diretório organizacional", precisará definir o AzureTenant propriedade de conexão para a ID do Locatário do Azure AD ao estabelecer uma conexão com o Conector Jitterbit para Dynamics 365 Business Central. Caso contrário, a tentativa de autenticação falhará com um erro. Se seu aplicativo for apenas para uso privado, "Somente contas neste diretório da organização" deve ser suficiente. Caso contrário, se você quiser distribuir seu aplicativo, escolha uma das opções multilocatário.
  4. Em seguida, defina o URL de redirecionamento para algo como http://localhost:33333, o padrão do conector. Ou defina uma porta diferente de sua escolha e defina CallbackURL para o URL de resposta exato que você definiu.
  5. Defina o tipo de autenticação do aplicativo na seção Certificados e segredos. Existem dois tipos de autenticação disponíveis: usando um segredo do cliente e usando um certificado. O método de autenticação recomendado é por meio de um certificado, mas você também pode criar um segredo de aplicativo.
    • Option 1 - Upload a certificate: Na seção Certificados e Segredos, selecione Carregar certificado e selecione o certificado para carregar de sua máquina local.
    • Option 2 - Create a new application secret: Na seção Certificates & Secrets, selecione New Client Secret para o aplicativo e selecione sua duração. Depois de salvar o segredo do cliente, o valor da chave é exibido. Copie este valor, pois ele é exibido apenas uma vez e é usado como OAuthClientSecret.
  6. Selecione Permissões de API e clique em Adicionar. ao selecionar permissões, use as permissões delegadas.
  7. Selecione Permissões necessárias e clique em Adicionar. Em Selecione uma API, selecione a Dynamics 365 Business Central -> Permissões delegadas.
  8. Salve suas alterações.
  9. Se você optou por usar permissões que requerem consentimento do administrador, você pode concedê-las do locatário atual na página Permissões de API. Caso contrário, siga as etapas em Consentimento do administrador.

Consentimento do Administrador

O consentimento do administrador refere-se a quando o administrador de um locatário do Azure Active Directory concede permissões a um aplicativo que exige que um administrador consinta com o caso de uso. O aplicativo inserido no Conector Jitterbit para Dynamics 365 Business Central não contém permissões que exijam o consentimento do administrador. Portanto, essas informações se aplicam apenas a aplicativos personalizados.

Ao criar um novo aplicativo OAuth no Portal do Azure, você deve especificar quais permissões o aplicativo exigirá. Algumas permissões podem ser marcadas informando "Consentimento do administrador necessário". Por exemplo, todas as permissões de grupos exigem consentimento do administrador. Se seu aplicativo exigir consentimento do administrador, há algumas maneiras de fazer isso.

A maneira mais fácil de conceder consentimento de administrador é apenas fazer com que um administrador faça logon em portal.azure.com e navegue até o aplicativo que você criou em Registros de aplicativos. Em Permissões da API, haverá um botão para Conceder consentimento. Você pode consentir aqui para que seu aplicativo tenha permissões no locatário sob o qual foi criado.

Se sua organização tiver vários locatários ou o aplicativo precisar receber permissões para outros locatários fora de sua organização, o GetAdminConsentURL pode ser usado para gerar o URL de autorização do administrador. Ao contrário do GetOAuthAuthorizationUrl, não haverá informações importantes retornadas desse endpoint. Se conceder acesso, ele simplesmente retornará um booleano indicando que as permissões foram concedidas.

Depois que um administrador concede o consentimento, a autenticação pode ser realizada normalmente.

Usando a Autenticação Principal de Serviço do Azure

A autenticação como Entidade de Serviço do Azure é tratada por meio do fluxo de Credenciais do Cliente OAuth e não envolve autenticação direta do usuário. Em vez disso, as credenciais são criadas apenas para o próprio aplicativo. Todas as tarefas executadas pelo aplicativo são feitas sem um contexto de usuário padrão, mas com base nas funções atribuídas. O acesso do aplicativo aos recursos é controlado por meio das permissões das funções atribuídas.

Credenciais Personalizadas

Você precisará registrar um aplicativo OAuth para obter os valores de propriedade OAuth antes da conexão com a fonte de dados do Dynamics 365 Business Central. Você pode verificar as Credenciais personalizadas guia sobre como definir as propriedades OAuth.

Criando um Aplicativo OAuth Personalizado

Consulte Criando um aplicativo OAuth personalizado para um procedimento.

Criando um Aplicativo OAuth Personalizado

A criação de um aplicativo OAuth personalizado e uma entidade de serviço que pode acessar os recursos necessários é necessária ao autenticar usando uma entidade de serviço do Azure.

Siga as etapas abaixo para criar um aplicativo OAuth personalizado e obter as propriedades de conexão para a autenticação da Entidade de Serviço do Azure.

Etapas para Criar um Aplicativo OAuth Personalizado

Siga as etapas abaixo para obter os valores OAuth para seu aplicativo.

  1. Faça login em <https://portal.azure.com>.
  2. No painel de navegação à esquerda, selecione Azure Active Directory, em seguida, Registros de aplicativos e clique no botão Novo registro.
  3. Insira um nome de aplicativo e defina o botão de opção para "Qualquer diretório do Azure AD - multilocatário". Em seguida, defina o URL de redirecionamento para algo como http://localhost:33333, o padrão do conector.
  4. Copie o valor do ID do aplicativo (cliente) exibido na seção Visão geral após criar o aplicativo, pois esse valor é usado como OAuthClientId
  5. Defina o tipo de autenticação do aplicativo na seção Certificados e segredos. Existem dois tipos de autenticação disponíveis: usando um segredo do cliente e usando um certificado. O método de autenticação recomendado é por meio de um certificado, mas você também pode criar um segredo de aplicativo.
    • Option 1 - Upload a certificate: Na seção Certificados e Segredos, selecione Carregar certificado e selecione o certificado para carregar de sua máquina local.
    • Option 2 - Create a new application secret: Na seção Certificates & Secrets, selecione New Client Secret para o aplicativo e selecione sua duração. Depois de salvar o segredo do cliente, o valor da chave é exibido. Copie este valor, pois ele é exibido apenas uma vez e é usado como OAuthClientSecret.
  6. Na aba Autenticação, certifique-se de marcar a opção: Tokens de acesso (usados para fluxos implícitos).
  7. Abra a página Assinaturas pesquisando e selecionando o serviço Assinaturas na barra de pesquisa.
  8. Selecione a assinatura específica à qual atribuir o aplicativo, abra a seção Controle de acesso (IAM) e clique no botão Adicionar atribuição de papel.
  9. Selecione Proprietário como a papel a ser atribuída ao aplicativo OAuth criado.

Credenciais Personalizadas

Siga as etapas abaixo para autenticar com as credenciais de um aplicativo OAuth personalizado. Consulte Criando um aplicativo OAuth personalizado.

Autenticação com Seu Aplicativo OAuth

Atualmente, apenas o uso de um segredo do cliente tem suporte para autenticação.

Obtenha um Token de Acesso OAuth

Você está pronto para se conectar depois de definir as seguintes propriedades de conexão:

  • Authenticating using a Client Secret
    • AuthScheme: Defina isso como "AzureServicePrincipal" nas configurações do aplicativo.
    • InitiateOAuth: Defina como GETANDREFRESH. Você pode usar InitiateOAuth para evitar repetir a troca de OAuth e configurar manualmente o OAuthAccessToken.
    • AzureTenant: Defina isso para o inquilino ao qual você deseja se conectar.
    • OAuthClientId: Defina isso como o ID do cliente nas configurações do aplicativo.
    • OAuthClientSecret: Defina isso como o segredo do cliente nas configurações do aplicativo.

Endpoints Centrais de Negócios

O Dynamics 365 Business Central oferece suporte a vários endpoints diferentes para se conectar aos dados, com as duas categorias principais sendo os endpoints de serviço comum e os endpoints de serviços Web. Além disso, cada conjunto de endpoints é dividido em endpoints de produção e teste. Os endpoints de produção requerem uma conexão OAuth, enquanto os endpoints de teste podem ser conectados via User e AccessKey. Observe que os endpoints de produção e teste acessam e interagem com os mesmos dados - eles apenas têm restrições diferentes sobre quais métodos de autenticação são permitidos.

Observação: A autenticação básica não será compatível com a versão em nuvem a partir de abril de 2021.

O OrganizationUrl por padrão, tentará resolver para um endpoint de produção de serviço comum, se houver https://businesscentral.dynamics.com/ URL é especificado. No entanto, isso pode ser configurado modificando o EndpointType. Além disso, especificar qualquer https://api.businesscentral.dynamics.com/ substituirá ambos EndpointType e UseSandbox como o especificado OrganizationUrl fornecido será usado sem alteração.

Endpoints de Serviço Comuns

endpoints do Common Service contêm os dados corporativos associados ao Dynamics 365 Business Central. Por exemplo, contas, ordens de venda e faturas de vendas serão encontradas no Serviço Comum.

Endpoints de Serviço Comum - Produção
  • https://api.businesscentral.dynamics.com/v2.0/{environment name}/api/v2.0
  • https://api.businesscentral.dynamics.com/v1.0/api/v2.0
  • https://api.businesscentral.dynamics.com/v2.0/sandbox/api/v2.0
Endpoints de Serviço Comuns - Teste
  • https://api.businesscentral.dynamics.com/v2.0/{tenant id}/{environment name}/api/v2.0
  • https://api.businesscentral.dynamics.com/v1.0/{tenant id}/api/v2.0
  • https://api.businesscentral.dynamics.com/v2.0/{tenant id}/sandbox/api/v2.0

Observação: A ID do locatário é a ID do seu locatário no Azure no qual o aplicativo Business Central está disponível. Isso pode ser obtido fazendo logon em portal.azure.com, selecionando seu nome de usuário e indo para Alternar diretório. Ele também pode ser encontrado em portal.azure.com, acessando Active Directory e Visão geral. Os nomes dos ambientes podem ser encontrados em https://businesscentral.dynamics.com/{tenant id}/admin.

Endpoints de Serviços da Web

Os endpoints do Web Service incluem tudo o que foi exposto de forma personalizada no Dynamics 365 Business Central. Isso pode incluir KPIs, relatórios, entidades individuais ou outros feeds. No Dynamics 365 Business Central, clique na lupa e procure por Web Services para ter uma ideia de tudo o que é exposto por esses endpoints.

Endpoint de Serviços da Web - Produção
  • https://api.businesscentral.dynamics.com/v1.0/ODataV4/
Endpoint de Serviços da Web - Teste
  • https://api.businesscentral.dynamics.com/v1.0/{tenant id}/ODataV4/

Endpoints de API Customizada

Para se conectar a endpoints de API personalizados, você precisa definir a propriedade OrganizationUrl para sua URL base personalizada, que está no formato: *https://api.businesscentral.dynamics.com/v2.0/{tenant}/api/{API publisher}/{API group}/{API version}*

Alterações Padrão do Endpoint a Partir de 2019

Na versão 2019, o endpoint padrão resolvido era o endpoint de teste de Web Services se um https://businesscentral.dynamics.com/ url foi fornecido para OrganizationUrl. O novo padrão é o endpoint de produção do Common Service. Para continuar usando o endpoint de teste de Web Services, defina-o diretamente ou altere o EndpointType para WSTesting.

Anotações Importantes

Procedimentos Armazenados

  • Os recursos de procedimentos armazenados descritos nesta documentação não são suportados no momento.
  • Como os procedimentos armazenados não são suportados atualmente, qualquer recurso dependente de procedimentos armazenados também não é suportado atualmente.

Arquivos de Configuração e Seus Caminhos

  • Todas as referências para adicionar arquivos de configuração e seus caminhos referem-se a arquivos e locais no Harmony Agente onde o conector está instalado. Esses caminhos devem ser ajustados conforme apropriado, dependendo do agente e do sistema operacional. Se vários agentes forem usados em um grupo de agentes, arquivos idênticos serão necessários em cada agente.

Características Avançadas

Esta seção detalha uma seleção de recursos avançados do conector do Dynamics 365 Business Central.

Visualizações definidas pelo usuário

O conector permite definir tabelas virtuais, denominadas visões definidas pelo usuário, cujo conteúdo é decidido por uma consultar pré-configurada. Essas exibições são úteis quando você não pode controlar diretamente as consultas enviadas aos drivers. Consulte Visualizações definidas pelo usuário para obter uma visão geral da criação e configuração de exibições personalizadas.

Configuração SSL

Use Configuração SSL para ajustar como o conector lida com as negociações de certificado TLS/SSL. Você pode escolher entre vários formatos de certificado; Veja o SSLServerCert propriedade em "Opções de cadeia de conexão" para obter mais informações.

Procurador

Para configurar o conector usando configurações de proxy do Agente Privado, selecione os Use Proxy Settings caixa de seleção na tela de configuração da conexão.

Visualizações Definidas pelo Usuário

O Conector Jitterbit para Dynamics 365 Business Central permite definir uma tabela virtual cujo conteúdo é decidido por uma consultar pré-configurada. Elas são chamadas de Visualizações Definidas pelo Usuário, que são úteis em situações onde você não pode controlar diretamente a consultar que está sendo emitida para o driver, por exemplo, ao usar o driver do Jitterbit. As Visualizações Definidas pelo Usuário podem ser usadas para definir predicados que são sempre aplicados. Se você especificar predicados adicionais na consultar para a visualização, eles serão combinados com a consultar já definida como parte da visualização.

Há duas maneiras de criar exibições definidas pelo usuário:

  • Crie um arquivo de configuração em formato JSON definindo as visualizações desejadas.
  • declarações DDL.

Definindo Visualizações Usando um Arquivo de Configuração

As visualizações definidas pelo usuário são definidas em um arquivo de configuração formatado em JSON chamado UserDefinedViews.json. O conector detecta automaticamente as visualizações especificadas neste arquivo.

Você também pode ter várias definições de exibição e controlá-las usando o UserDefinedViews propriedade de conexão. Quando você usa essa propriedade, apenas as exibições especificadas são vistas pelo conector.

Este arquivo de configuração de exibição definida pelo usuário é formatado da seguinte forma:

  • Cada elemento raiz define o nome de uma exibição.
  • Cada elemento raiz contém um elemento filho, chamado query, que contém a consultar SQL personalizada para a visualização.

Por exemplo:

{
    "MyView": {
        "query": "SELECT * FROM Accounts WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Use o UserDefinedViews propriedade de conexão para especificar a localização do seu arquivo de configuração JSON. Por exemplo:

"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"

Esquema para Exibições Definidas pelo Usuário

As visualizações definidas pelo usuário são expostas no UserViews esquema por padrão. Isso é feito para evitar que o nome da exibição entre em conflito com uma entidade real no modelo de dados. Você pode alterar o nome do esquema usado para UserViews definindo o UserViewsSchemaName propriedade.

Trabalhando com Exibições Definidas pelo Usuário

Por exemplo, uma instrução SQL com uma Visualização Definida pelo Usuário chamada UserViews.RCustomers lista apenas clientes em Raleigh:

SELECT * FROM Customers WHERE City = 'Raleigh';

Exemplo de consultar ao driver:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Resultando na consultar efetiva à fonte:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

Esse é um exemplo muito simples de uma consultar a uma exibição definida pelo usuário que é efetivamente uma combinação da consultar de exibição e da definição de exibição. É possível compor essas consultas em padrões muito mais complexos. Todas as operações SQL são permitidas em ambas as consultas e são combinadas quando apropriado.

Configuração SSL

Personalizando a Configuração SSL

Por padrão, o conector tenta negociar SSL/TLS verificando o certificado do servidor em relação ao armazenamento de certificados confiáveis do sistema.

Para especificar outro certificado, consulte o SSLServerCert propriedade para os formatos disponíveis para fazê-lo.

Modelo de Dados

O Conector Jitterbit para Dynamics 365 Business Central modela entidades do Dynamics 365 Business Central em tabelas relacionais, exibições e procedimentos armazenados. As definições de tabela são obtidas dinamicamente do serviço OData ao qual você se conecta. Quaisquer alterações nos metadados, como colunas adicionadas ou removidas ou alterações no tipo de dados, podem ser carregadas pela reconexão.

Mesas

O conector modela as entidades graváveis descritas no documento de metadados do serviço como bidirecional Tabelas.

Procedimentos armazenados

NOTE: Procedimentos armazenados não são suportados atualmente. Veja a nota para detalhes.

Procedimentos armazenados* são interfaces semelhantes a funções para a fonte de dados. Eles podem ser usados para executar operações adicionais que estão fora do modelo CRUD padrão.

Informações diversas

Esteja ciente de que a instrução 'inserir' na tabela SalesInvoiceLines funciona apenas quando o status da fatura de venda é 'DRAFT'. Se o status for 'PAID' ou 'OPEN', a instrução 'inserir' não será concluída com êxito. Esta é uma limitação da API.

Tabelas

Exibição de Tabela Padrão

O conector do Dynamics 365 Business Central expõe apenas tabelas configuradas como serviços Web em sua conta. Ele usa os serviços Odata do Dynamics 365 Business Central para obter e exibir dinamicamente a lista de tabelas após a conexão. Você pode exibir tabelas adicionais; a próxima seção descreve o procedimento.

Exibindo Tabelas Adicionais

Se você deseja exibir tabelas (endpoints) diferentes das exibidas pelo conector do Dynamics 365 Business Central, primeiro configure as tabelas que deseja como um serviço Web de sua conta. O conector então detecta os endpoints expostos e os exibe.

Para fazer isso, siga estas etapas:

  1. Faça logon em sua conta do Dynamics 365 Business Central.
  2. Navegue até Web Services e clique New.
  3. Em Object Type, selecione Page ou Query. A opção Codeunit está disponível no Dynamics 365 Business Central versão 16.3 ou posterior.
  4. No Object ID abra a lista suspensa e clique em Select from full list.
  5. Selecione as tabelas que deseja exibir no Object Name coluna.
  6. Especifique o Service Name para definir como o serviço é exibido.
  7. Selecione o Published marque a caixa e aguarde até ODat V4 URL o campo está preenchido.
  8. Inspecione o canto superior direito da página para certificar-se de que as alterações foram salvas.
  9. Repita este procedimento para quaisquer outras tabelas (configuradas como serviços web) que deseja adicionar.

Filtragem com Objetos AL Enum

Algumas páginas da API do Business Central, incluindo a maioria das páginas da API v2.0, possuem campos baseados em objetos AL Enum.

Os campos baseados em objetos de enumeração AL devem ter nomes consistentes e sempre os mesmos para que os filtros no relatório sempre funcionem, independentemente do idioma ou sistema operacional que você estiver usando. Por esse motivo, os campos baseados em enums AL não são traduzidos e a API do Buisness Central exige que eles sejam codificados para evitar qualquer caractere especial.

Para poder filtrar com um valor Enum, você precisa codificar o valor referindo-se a https://www.w3.org/Style/XSL/TestSuite/results/4/XEP/symbol.pdf documentação e anexos \_(sublinhado) antes e depois do símbolo.

Em particular, para espaço, isso seria "_x0020_". ex: SELECT * FROM DimensionSetLines WHERE parentid={id} e parentType='Sales_x0020_Order'

Para verificar se o campo é um objeto enum, você pode consultar a coluna IsEnumeration da tabela sys_tablecolumns.

Procedimentos Armazenados

Procedimentos armazenados* estão disponíveis para complementar os dados disponíveis no Modelo de Dados. Pode ser necessário atualizar os dados disponíveis em uma exibição usando um procedimento armazenado* porque os dados não fornecem atualizações bidirecionais diretas, semelhantes a tabelas. Nessas situações, a recuperação dos dados é feita usando a visualização ou tabela apropriada, enquanto a atualização é feita chamando um procedimento armazenado. Procedimentos armazenados* pega uma lista de parâmetros e retorna um conjunto de dados que contém a coleção de tuplas que constituem a resposta.

Conector Jitterbit para Procedimentos Armazenados do Dynamics 365 Business Central

Nome Descrição
GetAdminConsentURL Obtém a URL de consentimento do administrador que deve ser aberta separadamente por um administrador de um determinado domínio para conceder acesso ao seu aplicativo. Necessário apenas ao usar credenciais OAuth personalizadas.
GetOAuthAccessToken Obtém o token de autenticação usado para autenticação no serviço.
GetOAuthAuthorizationUrl Obtém uma URL de autorização da fonte de dados. A URL de autorização pode ser usada para gerar um verificador necessário para obter o token OAuth.
RefreshOAuthAccessToken Obtém um OAuthAccessToken atualizado se passar um token para atualização.

GetAdminConsentURL

Obtém a URL de consentimento do administrador que deve ser aberta separadamente por um administrador de um determinado domínio para conceder acesso ao seu aplicativo. Necessário apenas ao usar credenciais OAuth personalizadas.

Entrada
Nome Tipo Descrição
CallbackUrl String A URL para a qual o usuário será redirecionado após autorizar seu aplicativo. Esse valor deve corresponder à URL de resposta nas configurações do aplicativo Azure AD.
State String O mesmo valor para o estado que você enviou quando solicitou o código de autorização.
Colunas do Conjunto de Resultados
Nome Tipo Descrição
URL String O URL de autorização, inserido em um navegador da Web para obter o token do verificador e autorizar seu aplicativo.

GetOAuthAccessToken

Obtém o token de autenticação usado para autenticação no serviço.

Entrada
Nome Tipo Descrição
AuthMode String O tipo de autenticação que você está tentando. Use App para um aplicativo do Windows ou Web para aplicativos baseados na Web. O valor padrão é APP.
Verifier String Um verificador retornado pelo serviço que deve ser inserido para retornar o token de acesso. Necessário apenas ao usar o modo de autenticação da Web. Obtido navegando até a URL retornada em GetOAuthAuthorizationUrl.
CallbackUrl String A URL para a qual o usuário será redirecionado após autorizar seu aplicativo.
State String Este campo indica qualquer estado que pode ser útil para sua aplicação após o recebimento da resposta. Seu aplicativo recebe o mesmo valor que enviou, pois esse parâmetro faz uma viagem de ida e volta ao servidor de autorização do Dynamics. Os usos incluem redirecionar o usuário para o recurso correto em seu site, usar nonces e atenuar a falsificação de solicitação entre sites.
Prompt String O padrão é 'select_account', que solicita que o usuário selecione a conta durante a autenticação. Defina como 'Nenhum', para nenhum prompt, 'login' para forçar o usuário a inserir suas credenciais ou 'consentimento' para acionar a caixa de diálogo de consentimento OAuth depois que o usuário entrar, solicitando que ele conceda permissões ao aplicativo.
Colunas do Conjunto de Resultados
Nome Tipo Descrição
OAuthAccessToken String O token de acesso OAuth.
\* String Outras saídas que podem ser retornadas pela fonte de dados.

GetOAuthAuthorizationUrl

Obtém uma URL de autorização da fonte de dados. A URL de autorização pode ser usada para gerar um verificador necessário para obter o token OAuth.

Entrada
Nome Tipo Descrição
CallbackURL String A URL para a qual o usuário será redirecionado após autorizar seu aplicativo.
State String Este campo indica qualquer estado que pode ser útil para sua aplicação após o recebimento da resposta. Seu aplicativo recebe o mesmo valor que enviou, pois esse parâmetro faz uma viagem de ida e volta ao servidor de autorização do Dynamics. Os usos incluem redirecionar o usuário para o recurso correto em seu site, usar nonces e atenuar a falsificação de solicitação entre sites.
Prompt String O padrão é 'select_account', que solicita que o usuário selecione a conta durante a autenticação. Defina como 'Nenhum', para nenhum prompt, 'login' para forçar o usuário a inserir suas credenciais ou 'consentimento' para acionar a caixa de diálogo de consentimento OAuth depois que o usuário entrar, solicitando que ele conceda permissões ao aplicativo.
Colunas do Conjunto de Resultados
Nome Tipo Descrição
Url String A URL de autorização que precisará ser aberta para que o usuário autorize seu aplicativo.

RefreshOAuthAccessToken

Obtém um OAuthAccessToken atualizado se passar um token para atualização.

Entrada
Nome Tipo Descrição
OAuthRefreshToken String O token de atualização retornado da troca do código de autorização original.
Colunas do Conjunto de Resultados
Nome Tipo Descrição
OAuthAccessToken String O novo OAuthAccessToken retornou do serviço.
OAuthRefreshToken String Um token que pode ser usado para obter um novo token de acesso.
ExpiresIn String O tempo de vida restante no token de acesso.

Tabelas do Sistema

Você pode consultar as tabelas do sistema descritas nesta seção para acessar informações de esquema, informações sobre a funcionalidade da fonte de dados e estatísticas de operação em lote.

Tabelas de Esquema

As tabelas a seguir retornam metadados de banco de dados para Dynamics 365 Business Central:

Tabelas de Fonte de Dados

As tabelas a seguir retornam informações sobre como se conectar e consultar a fonte de dados:

  • sys_connection_props: Retorna informações sobre as propriedades de conexão disponíveis.
  • sys_sqlinfo: Descreve as consultas SELECT que o conector pode descarregar para a fonte de dados.

Consultar Tabelas de Informações

A tabela a seguir retorna estatísticas de consultar para consultas de modificação de dados, incluindo operações em lote:

  • sys_identity: Retorna informações sobre operações em lote ou atualizações únicas.

Sys_catalogs

Lista os bancos de dados disponíveis.

A consultar a seguir recupera todos os bancos de dados determinados pela string de conexão:

SELECT * FROM sys_catalogs
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados.

Sys_schemas

Lista os esquemas disponíveis.

A consultar a seguir recupera todos os esquemas disponíveis:

SELECT * FROM sys_schemas
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados.
SchemaName String O nome do esquema.

Sys_tables

Lista as tabelas disponíveis.

A consultar a seguir recupera as tabelas e exibições disponíveis:

SELECT * FROM sys_tables
Colunas
Nome Tipo Descrição
CatalogName String O banco de dados que contém a tabela ou exibição.
SchemaName String O esquema que contém a tabela ou exibição.
TableName String O nome da tabela ou exibição.
TableType String O tipo de tabela (tabela ou exibição).
Description String Uma descrição da tabela ou exibição.
IsUpdateable Boolean Se a tabela pode ser atualizada.

Sys_tablecolumns

Descreve as colunas das tabelas e exibições disponíveis.

A consultar a seguir retorna as colunas e os tipos de dados da tabela Accounts:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Accounts' 
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém a tabela ou exibição.
SchemaName String O esquema que contém a tabela ou exibição.
TableName String O nome da tabela ou exibição que contém a coluna.
ColumnName String O nome da coluna.
DataTypeName String O nome do tipo de dados.
DataType Int32 Um número inteiro indicando o tipo de dados. Esse valor é determinado no tempo de execução com base no ambiente.
Length Int32 O tamanho de armazenamento da coluna.
DisplaySize Int32 A largura máxima normal da coluna designada em caracteres.
NumericPrecision Int32 O número máximo de dígitos em dados numéricos. O comprimento da coluna em caracteres para caracteres e dados de data e hora.
NumericScale Int32 A escala da coluna ou o número de dígitos à direita do ponto decimal.
IsNullable Boolean Se a coluna pode conter null.
Description String Uma breve descrição da coluna.
Ordinal Int32 O número de sequência da coluna.
IsAutoIncrement String Se o valor da coluna é atribuído em incrementos fixos.
IsGeneratedColumn String Se a coluna é gerada.
IsHidden Boolean Se a coluna está oculta.
IsArray Boolean Se a coluna é uma matriz.

Sys_keycolumns

Descreve as chaves primárias e estrangeiras. A consultar a seguir recupera a chave primária da tabela Accounts:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Accounts'
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém a chave.
SchemaName String O nome do esquema que contém a chave.
TableName String O nome da tabela que contém a chave.
ColumnName String O nome da coluna chave.
IsKey Boolean Se a coluna é uma chave primária na tabela referenciada no campo TableName.
IsForeignKey Boolean Se a coluna é uma chave estrangeira referenciada no campo TableName.
PrimaryKeyName String O nome da chave primária.
ForeignKeyName String O nome da chave estrangeira.
ReferencedCatalogName String O banco de dados que contém a chave primária.
ReferencedSchemaName String O esquema que contém a chave primária.
ReferencedTableName String A tabela que contém a chave primária.
ReferencedColumnName String O nome da coluna da chave primária.

Sys_foreignkeys

Descreve as chaves estrangeiras. A consultar a seguir recupera todas as chaves estrangeiras que se referem a outras tabelas:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém a chave.
SchemaName String O nome do esquema que contém a chave.
TableName String O nome da tabela que contém a chave.
ColumnName String O nome da coluna chave.
PrimaryKeyName String O nome da chave primária.
ForeignKeyName String O nome da chave estrangeira.
ReferencedCatalogName String O banco de dados que contém a chave primária.
ReferencedSchemaName String O esquema que contém a chave primária.
ReferencedTableName String A tabela que contém a chave primária.
ReferencedColumnName String O nome da coluna da chave primária.
ForeignKeyType String Designa se a chave estrangeira é uma chave de importação (aponta para outras tabelas) ou de exportação (referenciada de outras tabelas).

Sys_indexes

Descreve os índices disponíveis. Ao filtrar por índices, você pode escrever consultas mais seletivas com tempos de resposta de consultar mais rápidos.

A consultar a seguir recupera todos os índices que não são chaves primárias:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Colunas
Nome Tipo Descrição
CatalogName String O nome do banco de dados que contém o índice.
SchemaName String O nome do esquema que contém o índice.
TableName String O nome da tabela que contém o índice.
IndexName String O nome do índice.
ColumnName String O nome da coluna associada ao índice.
IsUnique Boolean True se o índice for exclusivo. Falso caso contrário.
IsPrimary Boolean Verdadeiro se o índice for uma chave primária. Falso caso contrário.
Type Int16 Um valor inteiro correspondente ao tipo de índice: estatística (0), clusterizado (1), hash (2) ou outro (3).
SortOrder String A ordem de classificação: A para crescente ou D para decrescente.
OrdinalPosition Int16 O número de sequência da coluna no índice.

Sys_connection_props

Retorna informações sobre as propriedades de conexão disponíveis e as definidas na string de conexão.

Ao consultar esta tabela, a string de conexão de configuração deve ser usada:

jdbc:cdata:d365businesscentral:config:

Esta string de conexão permite que você consultar esta tabela sem uma conexão válida.

A consultar a seguir recupera todas as propriedades de conexão que foram definidas na string de conexão ou definidas por meio de um valor padrão:

SELECT * FROM sys_connection_props WHERE Value <> ''
Colunas
Nome Tipo Descrição
Name String O nome da propriedade de conexão.
ShortDescription String Uma breve descrição.
Type String O tipo de dados da propriedade de conexão.
Default String O valor padrão, se não houver um definido explicitamente.
Values String Uma lista separada por vírgulas de valores possíveis. Um erro de validação é lançado se outro valor for especificado.
Value String O valor que você definiu ou um padrão pré-configurado.
Required Boolean Se a propriedade é necessária para se conectar.
Category String A categoria da propriedade de conexão.
IsSessionProperty String Se a propriedade é uma propriedade de sessão, usada para salvar informações sobre a conexão atual.
Sensitivity String O nível de sensibilidade da propriedade. Isso informa se a propriedade está ofuscada nos formulários de registro e autenticação.
PropertyName String Uma forma truncada em camel case do nome da propriedade de conexão.
Ordinal Int32 O índice do parâmetro.
CatOrdinal Int32 O índice da categoria do parâmetro.
Hierarchy String Mostra as propriedades dependentes associadas que precisam ser definidas juntamente com esta.
Visible Boolean Informa se a propriedade está visível na UI da conexão.
ETC String Diversas informações diversas sobre o imóvel.

Sys_sqlinfo

Descreve o processamento da consultar SELECT que o conector pode transferir para a fonte de dados.

Processamento de Consultas Colaborativas

Ao trabalhar com fontes de dados que não suportam SQL-92, você pode consultar a exibição sys_sqlinfo para determinar os recursos de consultar das APIs subjacentes, expressas na sintaxe SQL. O conector transfere o máximo possível do processamento da instrução SELECT para o servidor e, em seguida, processa o restante da consultar na memória.

Descobrindo os Recursos SELECT da Fonte de Dados

Abaixo está um exemplo de conjunto de dados de recursos SQL. O conjunto de resultados a seguir indica a funcionalidade SELECT que o conector pode descarregar para a fonte de dados ou processar o lado do cliente. Sua fonte de dados pode suportar sintaxe SQL adicional. Alguns aspectos da funcionalidade SELECT são retornados em uma lista separada por vírgulas, se suportados; caso contrário, a coluna contém NO.

Nome Descrição Valores Possíveis
AGGREGATE_FUNCTIONS Funções de agregação suportadas. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Se a função COUNT é suportada. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR O caractere de abertura usado para escapar de um identificador. [
IDENTIFIER_QUOTE_CLOSE_CHAR O caractere de fechamento usado para escapar de um identificador. ]
SUPPORTED_OPERATORS Uma lista de operadores SQL com suporte. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Se GROUP BY é compatível e, em caso afirmativo, o grau de suporte. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Funções de string suportadas. LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONS Funções numéricas suportadas. ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONS Funções de data/hora suportadas. NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLES Indica tabelas ignoradas durante a replicação.
REPLICATION_TIMECHECK_COLUMNS Uma matriz de string contendo uma lista de colunas que serão usadas para verificar (na ordem especificada) para usar como uma coluna modificada durante a replicação.
IDENTIFIER_PATTERN Valor de string que indica qual string é válida para um identificador.
SUPPORT_TRANSACTION Indica se o provedor oferece suporte a transações como confirmação e reversão. YES, NO
DIALECT Indica o dialeto SQL a ser usado.
KEY_PROPERTIES Indica as propriedades que identificam o banco de dados uniforme.
SUPPORTS_MULTIPLE_SCHEMAS Indica se vários esquemas podem existir para o provedor. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Indica se vários catálogos podem existir para o provedor. YES, NO
DATASYNCVERSION A versão do Data Sync necessária para acessar este driver. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY A categoria Data Sync deste driver. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Se a funcionalidade SQL aprimorada além do que é oferecido pela API é suportada. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Se as operações em lote são suportadas. YES, NO
SQL_CAP Todos os recursos SQL suportados para este driver. SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS Um valor de string especifica o cacheOptions preferencial.
ENABLE_EF_ADVANCED_QUERY Indica se o driver oferece suporte direto a consultas avançadas provenientes do Entity Framework. Caso contrário, as consultas serão tratadas no lado do cliente. YES, NO
PSEUDO_COLUMNS Uma matriz de cadeia de caracteres que indica as pseudocolunas disponíveis.
MERGE_ALWAYS Se o valor for verdadeiro, o modo de mesclagem será executado à força no Data Sync. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY Uma consultar de seleção para retornar a data e hora de início da replicação.
REPLICATION_MIN_FUNCTION Permite que um provedor especifique o nome da fórmula a ser usado para executar um min do lado do servidor.
REPLICATION_START_DATE Permite que um provedor especifique uma data de início de replicação.
REPLICATION_MAX_DATE_QUERY Uma consultar de seleção para retornar a data e hora de término da replicação.
REPLICATION_MAX_FUNCTION Permite que um provedor especifique o nome da fórmula a ser usado para executar um máximo do lado do servidor.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE Uma lista de tabelas que ignorará a divisão da replicação em blocos na replicação inicial.
CHECKCACHE_USE_PARENTID Indica se a instrução CheckCache deve ser executada na coluna de chave pai. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Indica procedimentos armazenados* que pode ser usado para gerar arquivos de esquema.

A consultar a seguir recupera os operadores que podem ser usados na cláusula WHERE:

SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'

Observe que tabelas individuais podem ter diferentes limitações ou requisitos na cláusula WHERE; consulte o Modelo de Dados para obter mais informações.

Colunas
Nome Tipo Descrição
NAME String Um componente da sintaxe SQL ou um recurso que pode ser processado no servidor.
VALUE String Detalhes sobre a sintaxe SQL ou SQL suportada.

Sys_identity

Retorna informações sobre tentativas de modificação.

A consultar a seguir recupera os IDs das linhas modificadas em uma operação em lote:

SELECT * FROM sys_identity
Colunas
Nome Tipo Descrição
Id String O ID gerado pelo banco de dados retornado de uma operação de modificação de dados.
Batch String Um identificador para o lote. 1 para uma única operação.
Operation String O resultado da operação no lote: INSERTED, UPDATED ou DELETED.
Message String SUCCESS ou uma mensagem de erro se a atualização no lote falhou.

Mapeamento de Tipo de Dados

Mapeamentos de Tipo de Dados

O conector mapeia os tipos da fonte de dados para o tipo de dados correspondente disponível no esquema. A tabela abaixo documenta esses mapeamentos.

Dynamics 365 Business Central (OData V4) Esquema
Edm.Binary binário
Edm.Boolean bool
Edm.Date data e hora
Edm.DateTimeOffset data e hora
Edm.Decimal decimal
Edm.Double duplo
Edm.Guid guia
Edm.Int32 int
Edm.String cadeia
Edm.TimeOfDay tempo

Propriedades de Configurações Avançadas

As propriedades de configurações avançadas são as várias opções que podem ser usadas para estabelecer uma conexão. Esta seção fornece uma lista completa das opções que você pode configurar. Clique nos links para mais detalhes.

Autenticação

Propriedade Descrição
AuthScheme O tipo de autenticação a ser usado ao se conectar ao Dynamics 365 Business Central.
OrganizationURL A URL para sua organização do Dynamics 365. Por exemplo, https://abc123.crm.dynamics.com/.
ApiVersion A versão da API que está sendo usada. Isso pode ser especificado para acessar uma nova versão da API assim que ela for lançada.

Autenticação do Azure

Propriedade Descrição
AzureTenant O locatário do Microsoft Online sendo usado para acessar dados. Se não for especificado, seu tentante padrão será usado.
AzureEnvironment O ambiente do Azure a ser usado ao estabelecer uma conexão.

OAuth

Propriedade Descrição
InitiateOAuth Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar.
OAuthClientId O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.
OAuthClientSecret O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.

SSL

Propriedade Descrição
SSLServerCert O certificado a ser aceito do servidor ao conectar usando TLS/SSL.

Exploração madeireira

Propriedade Descrição
Logfile Um caminho de arquivo que designa o nome e a localização do arquivo de log.
Verbosity O nível de detalhamento que determina a quantidade de detalhes incluídos no arquivo de log.
LogModules Módulos principais a serem incluídos no arquivo de log.
MaxLogFileSize Uma string especificando o tamanho máximo em bytes para um arquivo de log (por exemplo, 10 MB).
MaxLogFileCount Uma string especificando a contagem máxima de arquivos de log.

Esquema

Propriedade Descrição
Location Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados.
BrowsableSchemas Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tables=TableA, TableB, TableC.
Views Restringe as visualizações relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC.

Diversos

Propriedade Descrição
AllowDuplicateRecords Indica se o driver deve verificar as regras de detecção de duplicatas configuradas.
IncludeFormattedValues Indica se as colunas que contêm valores formatados devem ser expostas.
IncludeNavigationProperties Um booleano que indica se as propriedades de navegação devem ser incluídas na listagem de colunas.
MaxRows Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.
Other Essas propriedades ocultas são usadas apenas em casos de uso específicos.
Pagesize O número máximo de resultados a serem retornados por página do Dynamics 365 Business Central.
PseudoColumns Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.
Timeout O valor em segundos até que o erro de timeout seja lançado, cancelando a operação.

Autenticação

Esta seção fornece uma lista completa de propriedades de autenticação que você pode configurar.

Propriedade Descrição
AuthScheme Se deve usar Autenticação OAuth ou Autenticação de Chave de Acesso ao conectar-se ao Business Central.
OrganizationURL A URL para sua organização do Dynamics 365. Por exemplo, https://businesscentral.dynamics.com/abc123/.
User O nome de usuário da conta do Dynamics 365 OnPremise usado para autenticação no servidor Dynamics 365 Business Central.
AccessKey A chave de acesso usada para autenticação no Dynamics 365 Business Central.
Company O nome da Empresa que está sendo usado para o Dynamics 365 Business Central.
UseSandbox Um booleano que indica se um sandbox está sendo usado. Defina como true se você tiver um nome de sandbox diferente de simplesmente 'sandbox'.

AuthScheme

O tipo de autenticação a ser usado ao se conectar ao Dynamics 365 Business Central. Atualmente, apenas AzureServicePrincipal é suportado

Valores Possíveis

AzureServicePrincipal

Tipo de Dados

string

Valor Padrão

"AzureServicePrincipal"

Observações
  • AzureServicePrincipal: defina isso para autenticar como uma Entidade de Serviço do Azure.

URL da Organização

A URL para sua organização do Dynamics 365. Por exemplo, https://businesscentral.dynamics.com/abc123/.

Tipo de Dados

string

Valor Padrão

""

Observações

A URL que você usa para fazer logon em sua organização do Dynamics 365. Por exemplo, https://businesscentral.dynamics.com/abc123/.

Isso também pode ser conhecido como o recurso. Para encontrá-lo, clique no ícone Pesquisar e procure por "Serviços da Web". Monitore a URL do OData v4. O valor final deve ser o endpoint do serviço da Web (menos a Empresa), como: https://api.businesscentral.dynamics.com/v1.0/businesscentralid/ODataV4/.

Para se conectar a APIs personalizadas, defina essa propriedade como a URL base para sua API personalizada do Dynamics 365. Por exemplo, https://api.businesscentral.dynamics.com/v2.0/{environmentName}/api/{API publisher}/{API group}/{API version} ou https://api.businesscentral.dynamics.com/v2.0/{tenant}/{environmentName}/api/{API publisher}/{API group}/{API version}

Do Utilizador

O nome de usuário da conta do Dynamics 365 OnPremise usado para autenticação no servidor Dynamics 365 Business Central.

Tipo de Dados

string

Valor Padrão

""

Observações

Juntamente com AccessKey, esse campo é usado para autenticação no servidor Dynamics 365 Business Central.

Observação: A autenticação básica não será compatível com a versão em nuvem a partir de abril de 2021. No local, a chave de acesso ao serviço da Web (autenticação básica) continuará sendo uma opção por enquanto.

Chave de Acesso

A chave de acesso usada para autenticação no Dynamics 365 Business Central.

Tipo de Dados

string

Valor Padrão

""

Observações

Juntamente com Usuário, este campo é usado para autenticação no Dynamics 365 Business Central.

Observação: A autenticação básica não será compatível com a versão em nuvem a partir de abril de 2021. No local, a chave de acesso ao serviço da Web (autenticação básica) continuará sendo uma opção por enquanto.

Empresa

O nome da Empresa que está sendo usado para o Dynamics 365 Business Central.

Tipo de Dados

string

Valor Padrão

""

Observações

O nome da Empresa que está sendo usado para o Dynamics 365 Business Central. Isso pode ser encontrado na página Informações da empresa. A propriedade Company deve ser especificada se sua organização tiver várias empresas. Se você tiver apenas uma empresa disponível em sua organização, ela não precisa ser especificada.

UseSandbox

Um booleano que indica se um sandbox está sendo usado. Defina como true se você tiver um nome de sandbox diferente de simplesmente 'sandbox'.

Tipo de Dados

bool

Valor Padrão

false

Observações

Um booleano que indica se um sandbox está sendo usado. Defina como true se você tiver um nome de sandbox diferente de simplesmente 'sandbox'.

Autenticação do Azure

Esta seção fornece uma lista completa das propriedades de autenticação do Azure que você pode configurar.

Propriedade Descrição
AzureTenant O locatário do Microsoft Online sendo usado para acessar dados. Se não for especificado, seu tentante padrão será usado.
AzureEnvironment O ambiente do Azure a ser usado ao estabelecer uma conexão.

AzureTenant

O locatário do Microsoft Online sendo usado para acessar dados. Se não for especificado, seu tentante padrão será usado.

Tipo de Dados

string

Valor Padrão

""

Observações

O locatário do Microsoft Online sendo usado para acessar dados. Por exemplo, "example.onmicrosoft.com". Como alternativa, especifique o ID do locatário. Esse valor é a ID do diretório no Portal do Azure > Azure Active Directory > Propriedades.

Normalmente não é necessário especificar o inquilino. Isso pode ser determinado automaticamente pela Microsoft. No entanto, pode falhar caso o usuário pertença a vários locatários. Por exemplo, se um administrador do domínio A convidar um usuário do domínio B para ser um usuário convidado. O usuário agora pertencerá a ambos os locatários. É uma boa prática especificar o inquilino, embora em geral as coisas funcionem normalmente sem ter que especificá-lo.

Ambiente Azure

O ambiente do Azure a ser usado ao estabelecer uma conexão.

Valores Possíveis

GLOBAL, CHINA, GERMANY, USGOVT

Tipo de Dados

string

Valor Padrão

"GLOBAL"

Observações

Na maioria dos casos, deixar o ambiente definido como global funcionará. No entanto, se sua conta do Azure tiver sido adicionada a um ambiente diferente, o AzureEnvironment pode ser usado para especificar qual ambiente.

OAuth

Esta seção fornece uma lista completa de propriedades OAuth que você pode configurar.

Propriedade Descrição
InitiateOAuth Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar.
OAuthClientId O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.
OAuthClientSecret O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.

InitiateOAuth

Configure esta propriedade para iniciar o processo para obter ou atualizar o token de acesso OAuth ao se conectar.

Valores Possíveis

GETANDREFRESH

Tipo de Dados

string

Valor Padrão

"GETANDREFRESH"

Observações

A seguinte opção é suportada:

  • GETANDREFRESH: Indica que todo o fluxo OAuth será tratado pelo conector. Se nenhum token existir atualmente, ele será obtido. Se existir um token, ele será atualizado quando aplicável.

OAuthClientId

O ID do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

Como parte do registro de um aplicativo OAuth, você receberá o OAuthClientId valor, às vezes também chamado de chave do consumidor e segredo do cliente, o OAuthClientSecret.

OAuthClientSecret

O segredo do cliente atribuído quando você registra seu aplicativo com um servidor de autorização OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

Como parte do registro de um aplicativo OAuth, você receberá o segredo do cliente, também chamado de segredo do consumidor. Defina o segredo do cliente como OAuthClientSecret propriedade.

Você também receberá um OAuthClientId, também chamada de chave do consumidor.

OAuthAccessToken

O token de acesso para conexão usando OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

O OAuthAccessToken propriedade é usada para conectar usando OAuth. O OAuthAccessToken é recuperado do servidor OAuth como parte do processo de autenticação. Ele tem um tempo limite dependente do servidor e pode ser reutilizado entre as solicitações.

O token de acesso é usado no lugar do seu nome de usuário e senha. O token de acesso protege suas credenciais, mantendo-as no servidor.

URL de Retorno

O URL de retorno de chamada OAuth ao qual retornar durante a autenticação. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo.

Tipo de Dados

string

Valor Padrão

""

Observações

Durante o processo de autenticação, o servidor de autorização OAuth redireciona o usuário para esta URL. Esse valor deve corresponder ao URL de retorno especificado nas configurações do aplicativo.

OAuthVerifier

O código do verificador retornado da URL de autorização OAuth.

Tipo de Dados

string

Valor Padrão

""

Observações

O código do verificador retornado da URL de autorização OAuth. Isso pode ser usado em sistemas em que um navegador não pode ser iniciado, como sistemas headless.

Autenticação em Máquinas Sem Cabeça

Consulte para obter o OAuthVerifier valor.

Defina OAuthSettingsLocation juntamente com OAuthVerifier. Quando você conecta, o conector troca o OAuthVerifier para os tokens de autenticação OAuth e os salva, criptografados, no arquivo especificado. Definir InitiateOAuth para GETANDREFRESH automatizar a troca.

Depois que o arquivo de configurações OAuth for gerado, você poderá remover OAuthVerifier nas propriedades de conexão e conecte-se com OAuthSettingsLocation definir.

Para atualizar automaticamente os valores do token OAuth, defina OAuthSettingsLocation e adicionalmente defina InitiateOAuth para ATUALIZAR.

OAuthRefreshToken

O token de atualização OAuth para o token de acesso OAuth correspondente.

Tipo de Dados

string

Valor Padrão

""

Observações

O OAuthRefreshToken a propriedade é usada para atualizar o OAuthAccessToken ao usar a autenticação OAuth.

OAuthExpiresIn

O tempo de vida em segundos do OAuth AccessToken.

Tipo de Dados

string

Valor Padrão

""

Observações

Emparelhe com OAuthTokenTimestamp para determinar quando o AccessToken expirará.

OAuthTokenTimestamp

O registro de data e hora da época do Unix em milissegundos quando o token de acesso atual foi criado.

Tipo de Dados

string

Valor Padrão

""

Observações

Emparelhe com OAuthExpiresIn para determinar quando o AccessToken expirará.

SSL

Esta seção fornece uma lista completa de propriedades SSL que você pode configurar.

Propriedade Descrição
SSLServerCert O certificado a ser aceito do servidor ao conectar usando TLS/SSL.

SSLServerCert

O certificado a ser aceito do servidor ao conectar usando TLS/SSL.

Tipo de Dados

string

Valor Padrão

""

Observações

Se estiver usando uma conexão TLS/SSL, esta propriedade pode ser usada para especificar o certificado TLS/SSL a ser aceito do servidor. Qualquer outro certificado que não seja confiável para a máquina é rejeitado.

Esta propriedade pode assumir as seguintes formas:

Descrição Exemplo
Um certificado PEM completo (exemplo abreviado para concisão) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
Um caminho para um arquivo local contendo o certificado C:\cert.cer
A chave pública (exemplo abreviado para concisão) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
O Thumbprint MD5 (os valores hexadecimais também podem ser separados por espaço ou dois-pontos) ecadbdda5a1529c58a1e9e09828d70e4
A impressão digital SHA1 (os valores hexadecimais também podem ser separados por espaço ou dois-pontos) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Se não for especificado, qualquer certificado confiável pela máquina será aceito.

Os certificados são validados como confiáveis pela máquina com base no armazenamento confiável do sistema. O armazenamento confiável usado é o valor 'javax.net.ssl.trustStore' especificado para o sistema. Se nenhum valor for especificado para esta propriedade, o armazenamento confiável padrão do Java será usado (por exemplo, JAVA_HOME\lib\security\cacerts).

Use '*' para indicar a aceitação de todos os certificados. Observe que isso não é recomendado devido a questões de segurança.

Esquema

Esta seção fornece uma lista completa de propriedades de esquema que você pode configurar.

Propriedade Descrição
Location Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados.
BrowsableSchemas Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tables=TableA, TableB, TableC.
Views Restringe as exibições relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA, ViewB, ViewC.

Localização

Um caminho para o diretório que contém os arquivos de esquema que definem tabelas, exibições e procedimentos armazenados.

Tipo de Dados

string

Valor Padrão

"%APPDATA%\\\D365BusinessCentral Data Provider\\Schema"

Observações

O caminho para um diretório que contém os arquivos de esquema para o conector (arquivos .rsd para tabelas e exibições, arquivos .rsb para procedimentos armazenados). A localização da pasta pode ser um caminho relativo a partir da localização do executável. O Location a propriedade só é necessária se você quiser personalizar definições (por exemplo, alterar um nome de coluna, ignorar uma coluna e assim por diante) ou estender o modelo de dados com novas tabelas, exibições ou procedimentos armazenados.

Se não for especificado, o local padrão é "%APPDATA%\\D365BusinessCentral Data Provider\Schema" com %APPDATA% sendo definido para o diretório de configuração do usuário:

Plataforma %APPDATA%
Windows O valor da variável de ambiente APPDATA
Mac ~/Biblioteca/Suporte de aplicativos
Linux ~/.config

Esquemas Navegáveis

Essa propriedade restringe os esquemas relatados a um subconjunto dos esquemas disponíveis. Por exemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Tipo de Dados

string

Valor Padrão

""

Observações

Listar os esquemas de bancos de dados pode ser caro. Fornecer uma lista de esquemas na string de conexão melhora o desempenho.

Tabelas

Esta propriedade restringe as tabelas reportadas a um subconjunto das tabelas disponíveis. Por exemplo, Tabelas=TabelaA,TabelaB,TabelaC.

Tipo de Dados

string

Valor Padrão

""

Observações

Listar as tabelas de alguns bancos de dados pode ser caro. Fornecer uma lista de tabelas na string de conexão melhora o desempenho do conector.

Essa propriedade também pode ser usada como uma alternativa para listar automaticamente as exibições se você já souber com quais deseja trabalhar e, caso contrário, haveria muitos para trabalhar.

Especifique as tabelas que deseja em uma lista separada por vírgulas. Cada tabela deve ser um identificador SQL válido com quaisquer caracteres especiais escapados usando colchetes, aspas duplas ou acentos graves. Por exemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Observe que, ao conectar-se a uma fonte de dados com vários esquemas ou catálogos, você precisará fornecer o nome totalmente qualificado da tabela nesta propriedade, como no último exemplo aqui, para evitar ambigüidade entre tabelas que existem em vários catálogos ou esquemas.

Visualizações

Restringe as exibições relatadas a um subconjunto das tabelas disponíveis. Por exemplo, Views=ViewA,ViewB,ViewC.

Tipo de Dados

string

Valor Padrão

""

Observações

Listar as exibições de alguns bancos de dados pode ser caro. Fornecer uma lista de exibições na string de conexão melhora o desempenho do conector.

Essa propriedade também pode ser usada como uma alternativa para listar automaticamente as exibições se você já souber com quais deseja trabalhar e, caso contrário, haveria muitos para trabalhar.

Especifique as exibições desejadas em uma lista separada por vírgulas. Cada exibição deve ser um identificador SQL válido com quaisquer caracteres especiais escapados usando colchetes, aspas duplas ou acentos graves. Por exemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Observe que, ao conectar-se a uma fonte de dados com vários esquemas ou catálogos, você precisará fornecer o nome totalmente qualificado da tabela nesta propriedade, como no último exemplo aqui, para evitar ambigüidade entre tabelas que existem em vários catálogos ou esquemas.

Diversos

Esta seção fornece uma lista completa de diversas propriedades que você pode configurar.

Propriedade Descrição
EndpointType O tipo de endpoint para o qual OrganizationUrl deve ser resolvido.
IncludeNavigationProperties Um booleano que indica se as propriedades de navegação devem ser incluídas na listagem de colunas.
MaxRows Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.
Other Essas propriedades ocultas são usadas apenas em casos de uso específicos.
PseudoColumns Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.
Timeout O valor em segundos até que o erro de timeout seja lançado, cancelando a operação.

EndpointType

O tipo de endpoint para o qual OrganizationUrl deve ser resolvido.

Valores Possíveis

CSProduction, CSTesting, WSProduction, WSTesting

Tipo de Dados

string

Valor Padrão

"CSProduction"

Observações

Consulte Endpoints da central de negócios para obter detalhes sobre os tipos de endpoints no Dynamics 365 Business Central e qual o valor apropriado para definir o EndpointType com base no seu caso de uso.

IncludeNavigationProperties

Um booleano que indica se as propriedades de navegação devem ser incluídas na listagem de colunas.

Tipo de Dados

bool

Valor Padrão

false

Observações

As propriedades de navegação não serão preenchidas com informações ao recuperar dados. Em vez disso, as propriedades de navegação podem ser usadas para vincular a um recurso existente durante inserções ou atualizações. Por exemplo:

INSERT INTO accounts (_primarycontactid_value) VALUES ('123456')

Para especificar vários valores, use uma lista separada por vírgulas. Por exemplo:

INSERT INTO accounts (lead_customer_accounts) VALUES ('123,456')

MaxRows

Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.

Tipo de Dados

int

Valor Padrão

-1

Observações

Limita o número de linhas retornadas quando nenhuma agregação ou agrupamento é usado na consultar. Isso ajuda a evitar problemas de desempenho em tempo de design.

Outro

Essas propriedades ocultas são usadas apenas em casos de uso específicos.

Tipo de Dados

string

Valor Padrão

""

Observações

As propriedades listadas abaixo estão disponíveis para casos de uso específicos. Os casos de uso e a funcionalidade normais do driver não devem exigir essas propriedades.

Especifique várias propriedades em uma lista separada por ponto e vírgula.

Integração e Formatação
Propriedade Descrição
DefaultColumnSize Define o comprimento padrão dos campos de string quando a fonte de dados não fornece o comprimento da coluna nos metadados. O valor padrão é 2000. Voltar para o início
ConvertDateTimeToGMT Determina se os valores de data e hora devem ser convertidos em GMT, em vez da hora local da máquina.
RecordToFile=filename Registra a transferência de dados do soquete subjacente para o arquivo especificado.

Pseudocolunas

Esta propriedade indica se deve ou não incluir pseudocolunas como colunas na tabela.

Tipo de Dados

string

Valor Padrão

""

Observações

Essa configuração é particularmente útil no Entity Framework, que não permite definir um valor para uma pseudocoluna, a menos que seja uma coluna de tabela. O valor dessa configuração de conexão está no formato "Table1=Column1, Table1=Column2, Table2=Column3". Você pode usar o caractere "*" para incluir todas as tabelas e todas as colunas; por exemplo, "*=*".

Tempo Esgotado

O valor em segundos até que o erro de timeout seja lançado, cancelando a operação.

Tipo de Dados

int

Valor Padrão

60

Observações

Se Timeout = 0, as operações não expiram. As operações são executadas até serem concluídas com êxito ou até encontrarem uma condição de erro.

Se Timeout expira e a operação ainda não está concluída, o conector lança uma exceção.