Detalhes da Conexão de Dynamics 365 Sales¶
Introdução¶
Versão do conector
Esta documentação é baseada na versão 21.0.8138 do conector.
Começando¶
Suporte da versão do Dynamics 365 Sales
O driver se conecta ao Dynamics 365 Sales versões 9.0 e por meio da API OData V4.
Estabelecendo uma Conexão¶
Conectando-se ao Dynamics 365 Sales¶
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 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 Sales. 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.
- Faça login em
<https://portal.azure.com>
. - No painel de navegação à esquerda, selecione Azure Active Directory, em seguida, Registros de aplicativos e clique no botão Novo registro.
- 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. - 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
- 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 comoOAuthClientSecret
.
- Na aba Autenticação, certifique-se de marcar a opção: Tokens de acesso (usados para fluxos implícitos).
- Abra a página Assinaturas pesquisando e selecionando o serviço Assinaturas na barra de pesquisa.
- 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.
- 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 a repetição da troca OAuth e definir manualmente oOAuthAccessToken
.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.
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 Sales.
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 Sales 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 visualizaçã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 connectio para especificar a localização do seu arquivo de configuração JSON. Por exemplo:
"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"
Definindo Exibições Usando Instruções DDL¶
O conector também é capaz de criar e alterar o esquema por meio de instruções DDL, como CREATE LOCAL VIEW, ALTER LOCAL VIEW e DROP LOCAL VIEW.
Criar uma Visualização¶
Para criar uma nova visualização usando instruções DDL, forneça o nome da visualização e a consultar da seguinte forma:
CREATE LOCAL VIEW [MyViewName] AS SELECT * FROM Customers LIMIT 20;
Se não existir nenhum arquivo JSON, o código acima criará um. A exibição é então criada no arquivo de configuração JSON e agora pode ser descoberta. O local do arquivo JSON é especificado pelo UserDefinedViews
propriedade de conexão.
Alterar uma Visualização¶
Para alterar uma exibição existente, forneça o nome de uma exibição existente ao lado da nova consultar que você gostaria de usar:
ALTER LOCAL VIEW [MyViewName] AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';
A visualização é então atualizada no arquivo de configuração JSON.
Solte uma Visualização¶
Para descartar uma exibição existente, forneça o nome de um esquema existente ao lado da nova consultar que você gostaria de usar.
DROP LOCAL VIEW [MyViewName]
Isso remove a exibição do arquivo de configuração JSON. Não pode mais ser consultado.
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 Sales modela entidades do Dynamics 365 Sales 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.
Visualizações
Visualizações descreve as exibições disponíveis. As exibições são definidas estaticamente para modelar PicklistAttributeMetadata, MultiPicklistAttributeMetadata e muito mais.
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, como recuperar um token de acesso OAuth.
Tabelas¶
O conector usa os serviços OData do Dynamics 365 Sales para obter dinamicamente uma lista de tabelas. Todas as suas tabelas do Dynamics 365 Sales serão exibidas como disponíveis assim que você se conectar.
Visualizações¶
As exibições são compostas por colunas e pseudocolunas. As exibições são semelhantes às tabelas na forma como os dados são representados; no entanto, as exibições não oferecem suporte a atualizações. Entidades que são representadas como exibições são normalmente entidades somente leitura. Frequentemente, um procedimento armazenado* está disponível para atualizar os dados se tal funcionalidade for aplicável à fonte de dados.
As consultas podem ser executadas em uma exibição como se fosse uma tabela normal, e os dados retornados são semelhantes nesse aspecto. Para saber mais sobre tabelas e procedimentos armazenados, navegue até as entradas correspondentes neste documento de ajuda.
Conector Jitterbit para Exibições de Dynamics 365 Sales¶
Nome | Descrição |
---|---|
MultiSelectPickListAttributeMetaData | Contém os metadados da lista de opções para um tipo de atributo MultiSelect OptionSet. |
MultiSelectPickListOptions | Contém o valor Options de MultiSelect PicklistMetadata. |
PickListAttributeMetaData | Contém os metadados para uma lista de opções do tipo de atributo. |
PickListOptions | Contém o valor Options de PickListMetaData |
MultiSelectPickListAttributeMetaData¶
Contém os metadados da lista de opções para um tipo de atributo MultiSelect OptionSet.
Selecione¶
O conector usará a API do Dynamics 365 Sales para processar as condições da cláusula WHERE criadas com a coluna e o operador a seguir. O restante do filtro é executado no lado do cliente dentro do conector.
TableName
suporta os operadores '=','IN'.
Por exemplo, as seguintes consultas são processadas no lado do servidor:
SELECT * FROM MultiSelectPickListAttributeMetaData
SELECT * FROM MultiSelectPickListAttributeMetaData where TableName = 'teams'
SELECT * FROM MultiSelectPickListAttributeMetaData where TableName IN ('accounts','teams')
Colunas¶
Nome | Tipo | Descrição |
---|---|---|
ColumnName [KEY] | String | |
MetadataId | String | |
OptionSet_Description_LocalizedLabels_HasChanged | String | |
OptionSet_Description_LocalizedLabels_IsManaged | String | |
OptionSet_Description_LocalizedLabels_Label | String | |
OptionSet_Description_LocalizedLabels_LanguageCode | String | |
OptionSet_Description_LocalizedLabels_MetadataId | String | |
OptionSet_Description_UserLocalizedLabel_HasChanged | String | |
OptionSet_Description_UserLocalizedLabel_IsManaged | Boolean | |
OptionSet_Description_UserLocalizedLabel_Label | String | |
OptionSet_Description_UserLocalizedLabel_LanguageCode | Integer | |
OptionSet_Description_UserLocalizedLabel_MetadataId | String | |
OptionSet_DisplayName_LocalizedLabels_HasChanged | String | |
OptionSet_DisplayName_LocalizedLabels_IsManaged | String | |
OptionSet_DisplayName_LocalizedLabels_Label | String | |
OptionSet_DisplayName_LocalizedLabels_LanguageCode | String | |
OptionSet_DisplayName_LocalizedLabels_MetadataId | String | |
OptionSet_DisplayName_UserLocalizedLabel_HasChanged | String | |
OptionSet_DisplayName_UserLocalizedLabel_IsManaged | Boolean | |
OptionSet_DisplayName_UserLocalizedLabel_Label | String | |
OptionSet_DisplayName_UserLocalizedLabel_LanguageCode | Integer | |
OptionSet_DisplayName_UserLocalizedLabel_MetadataId | String | |
OptionSet_ExternalTypeName | String | |
OptionSet_HasChanged | String | |
OptionSet_IntroducedVersion | String | |
OptionSet_IsCustomizable_CanBeChanged | Boolean | |
OptionSet_IsCustomizable_ManagedPropertyLogicalName | String | |
OptionSet_IsCustomizable_Value | Boolean | |
OptionSet_IsCustomOptionSet | Boolean | |
OptionSet_IsGlobal | Boolean | |
OptionSet_IsManaged | Boolean | |
OptionSet_MetadataId | String | |
OptionSet_Name | String | |
OptionSet_OptionSetType | String | |
OptionSet_ParentOptionSetName | String | |
TableName | String |
MultiSelectPickListOptions¶
Contém o valor Options de MultiSelect PicklistMetadata.
Selecione¶
O conector usará a API do Dynamics 365 Sales para processar as condições da cláusula WHERE criadas com a coluna e o operador a seguir. O restante do filtro é executado no lado do cliente dentro do conector.
TableName
suporta os operadores '=','IN'.
Por exemplo, as seguintes consultas são processadas no lado do servidor:
SELECT * FROM MultiSelectPickListOptions
SELECT * FROM MultiSelectPickListOptions where TableName = 'teams'
SELECT * FROM MultiSelectPickListOptions where TableName IN ('accounts','teams')
Colunas¶
Nome | Tipo | Descrição |
---|---|---|
ColumnName | String | |
Color | String | |
ExternalValue | String | |
HasChanged | String | |
IsManaged | Boolean | |
Label_LocalizedLabels_HasChanged | String | |
Label_LocalizedLabels_IsManaged | Boolean | |
Label_LocalizedLabels_Label | String | |
Label_LocalizedLabels_LanguageCode | Integer | |
Label_LocalizedLabels_MetadataId | String | |
Label_UserLocalizedLabel_HasChanged | String | |
Label_UserLocalizedLabel_IsManaged | Boolean | |
Label_UserLocalizedLabel_Label | String | |
Label_UserLocalizedLabel_LanguageCode | Integer | |
Label_UserLocalizedLabel_MetadataId | String | |
Description_LocalizedLabels_HasChanged | String | |
Description_LocalizedLabels_IsManaged | Boolean | |
Description_LocalizedLabels_Label | String | |
Description_LocalizedLabels_LanguageCode | Integer | |
Description_LocalizedLabels_MetadataId | String | |
Description_UserLocalizedLabel_HasChanged | String | |
Description_UserLocalizedLabel_IsManaged | Boolean | |
Description_UserLocalizedLabel_Label | String | |
Description_UserLocalizedLabel_LanguageCode | Integer | |
Description_UserLocalizedLabel_MetadataId | String | |
MetadataId | String | |
ParentValues | String | |
Value | Integer | |
TableName | String |
PickListAttributeMetaData¶
Contém os metadados para uma lista de opções do tipo de atributo.
Selecione¶
O conector usará a API do Dynamics 365 Sales para processar as condições da cláusula WHERE criadas com a coluna e o operador a seguir. O restante do filtro é executado no lado do cliente dentro do conector.
TableName
suporta os operadores '=','IN'.
Por exemplo, as seguintes consultas são processadas no lado do servidor:
SELECT * FROM PickListAttributeMetaData
SELECT * FROM PickListAttributeMetaData where TableName = 'teams'
SELECT * FROM PickListAttributeMetaData where TableName IN ('accounts','teams')
Colunas¶
Nome | Tipo | Descrição |
---|---|---|
ColumnName [KEY] | String | |
MetadataId | String | |
OptionSet_Description_LocalizedLabels_HasChanged | String | |
OptionSet_Description_LocalizedLabels_IsManaged | String | |
OptionSet_Description_LocalizedLabels_Label | String | |
OptionSet_Description_LocalizedLabels_LanguageCode | String | |
OptionSet_Description_LocalizedLabels_MetadataId | String | |
OptionSet_Description_UserLocalizedLabel_HasChanged | String | |
OptionSet_Description_UserLocalizedLabel_IsManaged | Boolean | |
OptionSet_Description_UserLocalizedLabel_Label | String | |
OptionSet_Description_UserLocalizedLabel_LanguageCode | Integer | |
OptionSet_Description_UserLocalizedLabel_MetadataId | String | |
OptionSet_DisplayName.LocalizedLabels_HasChanged | String | |
OptionSet_DisplayName.LocalizedLabels_IsManaged | String | |
OptionSet_DisplayName.LocalizedLabels_Label | String | |
OptionSet_DisplayName.LocalizedLabels_LanguageCode | String | |
OptionSet_DisplayName.LocalizedLabels_MetadataId | String | |
OptionSet_DisplayName.UserLocalizedLabel_HasChanged | String | |
OptionSet_DisplayName.UserLocalizedLabel_IsManaged | Boolean | |
OptionSet_DisplayName.UserLocalizedLabel_Label | String | |
OptionSet_DisplayName.UserLocalizedLabel_LanguageCode | Integer | |
OptionSet_DisplayName.UserLocalizedLabel_MetadataId | String | |
OptionSet_ExternalTypeName | String | |
OptionSet_HasChanged | String | |
OptionSet_IntroducedVersion | String | |
OptionSet_IsCustomizable_CanBeChanged | Boolean | |
OptionSet_IsCustomizable_ManagedPropertyLogicalName | String | |
OptionSet_IsCustomizable_Value | Boolean | |
OptionSet_IsCustomOptionSet | Boolean | |
OptionSet_IsGlobal | Boolean | |
OptionSet_IsManaged | Boolean | |
OptionSet_MetadataId | String | |
OptionSet_Name | String | |
OptionSet_OptionSetType | String | |
OptionSet_ParentOptionSetName | String | |
TableName | String |
PickListOptions¶
Contém o valor Options de PickListMetaData
Selecione¶
O conector usará a API do Dynamics 365 Sales para processar as condições da cláusula WHERE criadas com a coluna e o operador a seguir. O restante do filtro é executado no lado do cliente dentro do conector.
TableName
suporta os operadores '=','IN'.
Por exemplo, as seguintes consultas são processadas no lado do servidor:
SELECT * FROM PickListOptions
SELECT * FROM PickListOptions where TableName = 'teams'
SELECT * FROM PickListOptions where TableName IN ('accounts','teams')
Colunas¶
Nome | Tipo | Descrição |
---|---|---|
ColumnName | String | |
Color | String | |
ExternalValue | String | |
HasChanged | String | |
IsManaged | Boolean | |
LabelLocalizedLabels.HasChanged | String | |
Label_LocalizedLabels_IsManaged | Boolean | |
Label_LocalizedLabels_Label | String | |
Label_LocalizedLabels_LanguageCode | Integer | |
Label_LocalizedLabels_MetadataId | String | |
Label_UserLocalizedLabel_HasChanged | String | |
Label_UserLocalizedLabel_IsManaged | Boolean | |
Label_UserLocalizedLabel_Label | String | |
Label_UserLocalizedLabel_LanguageCode | Integer | |
Label_UserLocalizedLabel_MetadataId | String | |
Description.LocalizedLabels | String | |
Description.UserLocalizedLabel | String | |
MetadataId | String | |
ParentValues | String | |
Value | Integer | |
TableName | String |
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 Sales¶
Nome | Descrição |
---|---|
CreateAssociation | Cria uma associação entre duas entidades com base em uma propriedade de navegação. Defina a propriedade de conexão IncludeNavigationProperties como true para usar este procedimento armazenado. |
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. |
ListAssociations | Lista associações para uma determinada tabela e propriedade de navegação. Defina a propriedade de conexão IncludeNavigationProperties como true para usar este procedimento armazenado. |
ListNavigationProperties | Lista as propriedades de navegação para uma determinada tabela e as tabelas às quais estão associadas. As propriedades de navegação são usadas pelos procedimentos armazenados da Associação. Defina a propriedade de conexão IncludeNavigationProperties como true para usar este procedimento armazenado. |
RefreshOAuthAccessToken | Obtém um OAuthAccessToken atualizado se passar um token para atualização. |
RemoveAssociation | Remove uma associação entre duas entidades com base em uma propriedade de navegação. Defina a propriedade de conexão IncludeNavigationProperties como true para usar este procedimento armazenado. |
CriarAssociação¶
Cria uma associação entre duas entidades com base em uma propriedade de navegação. Defina a propriedade de conexão IncludeNavigationProperties como true para usar este procedimento armazenado.
Entrada¶
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
FromId | String | Verdade | O ID da entidade para a qual você está criando associações. |
FromTable | String | Verdade | A tabela de onde vem a entidade para a qual você está criando uma associação. Por exemplo, se FromId for de uma tabela chamada Clientes, defina este parâmetro como: Clientes. |
ToNavigationProperty | String | Verdade | A propriedade de navegação na qual você está criando uma associação. Ele pode ser obtido em ListNavigationProperties. |
ToId | String | Verdade | O ID da entidade de navegação. Isso virá da tabela associada à propriedade de navegaçã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 | Obrigatório | Descrição |
---|---|---|---|
CallbackUrl | String | Falso | 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 | Falso | 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 | Obrigatório | Descrição |
---|---|---|---|
AuthMode | String | Falso | 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 | Falso | 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 | Falso | A URL para a qual o usuário será redirecionado após autorizar seu aplicativo. |
State | String | Falso | 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 | Falso | 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 | Obrigatório | Descrição |
---|---|---|---|
CallbackURL | String | Falso | A URL para a qual o usuário será redirecionado após autorizar seu aplicativo. |
State | String | Falso | 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 | Falso | 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. |
Listar Associações¶
Lista associações para uma determinada tabela e propriedade de navegação. Defina a propriedade de conexão IncludeNavigationProperties como true para usar este procedimento armazenado.
Entrada¶
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
FromId | String | Verdade | O ID da entidade para a qual você está listando associações. |
FromTable | String | Verdade | A tabela de onde vem a entidade para a qual você está listando as entidades. Por exemplo, se FromId for de uma tabela chamada Clientes, defina este parâmetro como: Clientes. |
NavigationProperty | String | Verdade | A propriedade de navegação para a qual você está listando atribuições. Ele pode ser obtido em ListNavigationProperties. |
Colunas do Conjunto de Resultados¶
Nome | Tipo | Descrição |
---|---|---|
Uri | String | O URL vinculado. |
ListNavigationProperties¶
Lista as propriedades de navegação para uma determinada tabela e as tabelas às quais estão associadas. As propriedades de navegação são usadas pelos procedimentos armazenados da Associação. Defina a propriedade de conexão IncludeNavigationProperties como true para usar este procedimento armazenado.
Entrada¶
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
TableName | String | Verdade | O nome da tabela para a qual listar as propriedades de navegação. |
Colunas do Conjunto de Resultados¶
Nome | Tipo | Descrição |
---|---|---|
Name | String | O nome da propriedade de navegação. |
AssociatedTable | String | A tabela à qual a propriedade de navegação está associada. |
RefreshOAuthAccessToken¶
Obtém um OAuthAccessToken atualizado se passar um token para atualização.
Entrada¶
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
OAuthRefreshToken | String | Verdade | 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. |
RemoverAssociação¶
Remove uma associação entre duas entidades com base em uma propriedade de navegação. Defina a propriedade de conexão IncludeNavigationProperties como true para usar este procedimento armazenado.
Entrada¶
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
FromId | String | Verdade | O ID da entidade para a qual você está removendo associações. |
FromTable | String | Verdade | A tabela de onde vem a entidade para a qual você está removendo uma associação. Por exemplo, se FromId for de uma tabela chamada Clientes, defina este parâmetro como: Clientes. |
ToNavigationProperty | String | Verdade | A propriedade de navegação da qual você está removendo uma associação. Ele pode ser obtido em ListNavigationProperties. |
ToId | String | Verdade | O ID da entidade de navegação. Isso virá da tabela associada à propriedade de navegação. |
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 do banco de dados do Dynamics 365 Sales:
- sys_catalogs: Lista os bancos de dados disponíveis.
- sys_schemas: Lista os esquemas disponíveis.
- sys_tables: Lista as tabelas e exibições disponíveis.
- sys_tablecolumns: Descreve as colunas das tabelas e exibições disponíveis.
- sys_procedures: Descreve os procedimentos armazenados disponíveis.
- sys_procedureparameters: Descreve procedimento armazenado* parâmetros.
- sys_keycolumns: Descreve as chaves primárias e estrangeiras.
- sys_indexes: Descreve os índices disponíveis.
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 visualização. |
TableType | String | O tipo de tabela (tabela ou exibição). |
Description | String | Uma descrição da tabela ou visualizaçã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_procedures¶
Lista os procedimentos armazenados disponíveis.
A consultar a seguir recupera os procedimentos armazenados disponíveis:
SELECT * FROM sys_procedures
Colunas¶
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O banco de dados que contém o procedimento armazenado. |
SchemaName | String | O esquema que contém o procedimento armazenado. |
ProcedureName | String | O nome do procedimento armazenado. |
Description | String | Uma descrição do procedimento armazenado. |
ProcedureType | String | O tipo do procedimento, como PROCEDURE ou FUNCTION. |
Sys_procedureparameters¶
Descreve procedimento armazenado* parâmetros.
A consultar a seguir retorna informações sobre todos os parâmetros de entrada para o procedimento armazenado GetOAuthAccessToken:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='GetOAuthAccessToken' AND Direction=1 OR Direction=2
Colunas¶
Nome | Tipo | Descrição |
---|---|---|
CatalogName | String | O nome do banco de dados que contém o procedimento armazenado. |
SchemaName | String | O nome do esquema que contém o procedimento armazenado. |
ProcedureName | String | O nome do procedimento armazenado* contendo o parâmetro. |
ColumnName | String | O nome do procedimento armazenado* parâmetro. |
Direction | Int32 | Um número inteiro correspondente ao tipo do parâmetro: entrada (1), entrada/saída (2) ou saída (4). parâmetros de tipo de entrada/saída podem ser parâmetros de entrada e saída. |
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 número de caracteres permitido para dados de caractere. O número de dígitos permitidos para dados numéricos. |
NumericPrecision | Int32 | A precisão máxima para dados numéricos. O comprimento da coluna em caracteres para caracteres e dados de data e hora. |
NumericScale | Int32 | O número de dígitos à direita do ponto decimal em dados numéricos. |
IsNullable | Boolean | Se o parâmetro pode conter null. |
IsRequired | Boolean | Se o parâmetro é necessário para a execução do procedimento. |
IsArray | Boolean | Se o parâmetro é uma matriz. |
Description | String | A descrição do parâmetro. |
Ordinal | Int32 | O índice do parâmetro. |
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), agrupado (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:d365sales: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 Sales (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 Sales. |
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. |
OAuthGrantType | O tipo de concessão para o fluxo OAuth. |
SSL
Propriedade | Descrição |
---|---|
SSLServerCert | O certificado a ser aceito do servidor ao conectar usando TLS/SSL. |
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 Sales. |
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 | O tipo de autenticação a ser usado ao se conectar ao Dynamics 365 Sales. |
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. |
AuthScheme¶
O tipo de autenticação a ser usado ao se conectar ao Dynamics 365 Sales. 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://abc123.crm.dynamics.com/
.
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://abc123.crm.dynamics.com/
. Isso também pode ser conhecido como o recurso.
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.
Tipo de Dados¶
string
Valor Padrão¶
"9.0"
Observações¶
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. Caso contrário, você pode usar o padrão.
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 ao usar o OAuthGrantType definido como CODE (padrão). 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.
O AzureTenant
é necessário ao definir OAuthGrantType ao CLIENTE. Ao usar credenciais de cliente, não há contexto de usuário. As credenciais são obtidas do contexto do próprio aplicativo. Embora a Microsoft ainda permita que as credenciais do cliente sejam obtidas sem especificar qual locatário, ela tem uma probabilidade muito menor de escolher o locatário específico com o qual deseja trabalhar. Por este motivo, exigimos AzureTenant
a ser declarado explicitamente para todas as conexões de credenciais do cliente para garantir que você obtenha credenciais aplicáveis ao domínio ao qual pretende se conectar.
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. |
OAuthGrantType | O tipo de concessão para o fluxo 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 um 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.
OAuthGrantType¶
O tipo de concessão para o fluxo OAuth.
Valores Possíveis¶
CLIENT
Tipo de Dados¶
string
Valor Padrão¶
"CLIENT"
Observações¶
O tipo de concessão para o fluxo OAuth. Apenas o CLIENT
opção é suportada.
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%\\\D365Sales 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%\\D365Sales 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 |
---|---|
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 Sales. |
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. |
AllowDuplicateRecords¶
Indica se o driver deve verificar as regras de detecção de duplicatas configuradas.
Tipo de Dados¶
string
Valor Padrão¶
"true"
Observações¶
Defina esse valor como false para evitar a inclusão de registros duplicados durante a execução da operação de inserção.
IncludeFormattedValues¶
Indica se as colunas que contêm valores formatados devem ser expostas.
Tipo de Dados¶
bool
Valor Padrão¶
false
Observações¶
Para cada coluna, uma coluna extra é adicionada para expor o valor formatado. As novas colunas terão o sufixo "_display".
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. |
Tamanho da Página¶
O número máximo de resultados a serem retornados por página do Dynamics 365 Sales.
Tipo de Dados¶
int
Valor Padrão¶
5000
Observações¶
O Pagesize
propriedade afeta o número máximo de resultados a serem retornados por página do Dynamics 365 Sales. Definir um valor mais alto pode resultar em melhor desempenho ao custo de memória adicional alocada por página consumida.
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.