Saltar al contenido

Detalles de Conexión de Dynamics 365 Sales

Introducción

Versión del conector

Esta documentación se basa en la versión 21.0.8138 del conector.

Empezando

Compatibilidad con la versión de Dynamics 365 Sales

El controlador se conecta a Dynamics 365 Sales versiones 9.0 y se conecta a través de la API de OData V4.

Establecer una Conexión

Conexión a Dynamics 365 Sales

Autenticación Mediante Azure Service Principal

Azure Service Principal es un tipo de conexión que pasa por OAuth. Establecer su AuthScheme a AzureServicePrincipal y consulte Uso de la autenticación principal de servicio de Azure para obtener una guía de autenticación.

Uso de la Autenticación Principal de Servicio de Azure

La autenticación como entidad principal de servicio de Azure se gestiona a través del flujo de credenciales de cliente de OAuth y no implica la autenticación directa del usuario. En cambio, las credenciales se crean solo para la aplicación en sí. Todas las tareas realizadas por la aplicación se realizan sin un contexto de usuario predeterminado, pero en función de los roles asignados. El acceso de la aplicación a los recursos se controla a través de los permisos de los roles asignados.

Credenciales Personalizadas

Deberá registrar una aplicación de OAuth para obtener los valores de propiedad de OAuth antes de conectarse al origen de datos de Dynamics 365 Sales. Puede comprobar las Credenciales personalizadas guía sobre cómo configurar las propiedades de OAuth.

Creación de una Aplicación OAuth Personalizada

Consulte Crear una aplicación OAuth personalizada para un procedimiento.

Creación de una Aplicación OAuth Personalizada

Es necesario crear una aplicación de OAuth personalizada y una entidad de servicio que pueda acceder a los recursos necesarios cuando se autentica mediante una entidad de servicio de Azure.

Siga los pasos a continuación para crear una aplicación OAuth personalizada y obtener las propiedades de conexión para la autenticación de la entidad de servicio de Azure.

Pasos para Crear una Aplicación OAuth Personalizada

Siga los pasos a continuación para obtener los valores de OAuth para su aplicación.

  1. Inicie sesión en <https://portal.azure.com>.
  2. En el panel de navegación de la izquierda, seleccione Azure Active Directory, luego Registros de aplicaciones y haga clic en el botón Nuevo registro.
  3. Ingrese un nombre de aplicación y configure el botón de opción para "Cualquier directorio de Azure AD - Multiusuario". Luego configure la URL de redireccionamiento a algo como http://localhost:33333, el valor predeterminado del conector.
  4. Copie el valor de ID de la aplicación (cliente) que se muestra en la sección Descripción general después de crear la aplicación, ya que este valor se usa como OAuthClientId
  5. Defina el tipo de autenticación de la aplicación en la sección Certificados y secretos. Hay dos tipos de autenticación disponibles: usando un secreto de cliente y usando un certificado. El método de autenticación recomendado es a través de un certificado, pero también puede crear un secreto de aplicación.
    • Option 1 - Upload a certificate: En la sección Certificados y secretos, seleccione Cargar certificado y seleccione el certificado para cargar desde su máquina local.
    • Option 2 - Create a new application secret: En la sección Certificados y secretos, seleccione Nuevo secreto de cliente para la aplicación y seleccione su duración. Después de guardar el secreto del cliente, se muestra el valor de la clave. Copie este valor ya que se muestra solo una vez y se usa como OAuthClientSecret.
  6. En la pestaña Autenticación, asegúrese de marcar la opción: Tokens de acceso (utilizados para flujos implícitos).
  7. Abra la página Suscripciones buscando y seleccionando el servicio Suscripciones en la barra de búsqueda.
  8. Seleccione la suscripción particular para asignar la aplicación, luego abra la sección Control de acceso (IAM) y haga clic en el botón Agregar asignación de rol.
  9. Seleccione Propietario como el rol para asignar a su aplicación OAuth creada.

Credenciales Personalizadas

Siga los pasos a continuación para autenticarse con las credenciales de una aplicación OAuth personalizada. Consulte Crear una aplicación OAuth personalizada.

Autenticación con Su Aplicación OAuth

Actualmente, solo se admite el uso de un secreto de cliente para la autenticación.

Obtenga un Token de Acceso OAuth

Está listo para conectarse después de configurar las siguientes propiedades de conexión:

  • Authenticating using a Client Secret
    • AuthScheme: establezca esto en "AzureServicePrincipal" en la configuración de su aplicación.
    • InitiateOAuth: Establézcalo en GETANDREFRESH. Puede usar InitiateOAuth para evitar repetir el intercambio de OAuth y configurar manualmente OAuthAccessToken.
    • AzureTenant: Configure esto para el arrendatario al que desea conectarse.
    • OAuthClientId: establezca esto en la ID del cliente en la configuración de su aplicación.
    • OAuthClientSecret: establezca esto en el secreto del cliente en la configuración de su aplicación.

Notas Importantes

Procedimientos Almacenados

  • Las funciones de procedimientos almacenados descritas en esta documentación no se admiten actualmente.
  • Debido a que los procedimientos almacenados no se admiten actualmente, cualquier característica que dependa de los procedimientos almacenados tampoco se admite actualmente.

Archivos de Configuración y Sus Rutas

  • Todas las referencias a la adición de archivos de configuración y sus rutas se refieren a archivos y ubicaciones en Harmony Agente donde está instalado el conector. Estas rutas deben ajustarse según corresponda según el agente y el sistema operativo. Si se utilizan varios agentes en un grupo de agentes, se requerirán archivos idénticos en cada agente.

Características Avanzadas

Esta sección detalla una selección de características avanzadas del conector de Dynamics 365 Sales.

Vistas definidas por el usuario

El conector le permite definir tablas virtuales, llamadas vistas definidas por el usuario, cuyo contenido se decide mediante una consultar preconfigurada. Estas vistas son útiles cuando no puede controlar directamente las consultas que se envían a los controladores. Consulte Vistas definidas por el usuario para obtener una descripción general de la creación y configuración de vistas personalizadas.

Configuración SSL

Usar Configuración SSL para ajustar cómo el conector maneja las negociaciones de certificados TLS/SSL. Puede elegir entre varios formatos de certificado; ver el SSLServerCert propiedad en "Opciones de cadena de conexión" para obtener más información.

Apoderado

Para configurar el conector mediante Configuración de proxy de Agente Privado, Selecciona el Use Proxy Settings casilla de verificación en la pantalla de configuración de la conexión.

Vistas Definidas por el Usuario

El conector Jitterbit para Dynamics 365 Sales le permite definir una tabla virtual cuyo contenido se decide mediante una consultar preconfigurada. Estas se denominan Vistas definidas por el usuario, que son útiles en situaciones en las que no puede controlar directamente la consultar que se envía al controlador, por ejemplo, cuando se utiliza el controlador de Jitterbit. Las vistas definidas por el usuario se pueden utilizar para definir predicados que siempre se aplican. Si especifica predicados adicionales en la consultar a la vista, se combinan con la consultar ya definida como parte de la vista.

Hay dos formas de crear vistas definidas por el usuario:

  • Cree un archivo de configuración con formato JSON que defina las vistas que desea.
  • Declaraciones DDL.

Definición de Vistas Usando un Archivo de Configuración

Las vistas definidas por el usuario se definen en un archivo de configuración con formato JSON llamado UserDefinedViews.json. El conector detecta automáticamente las vistas especificadas en este archivo.

También puede tener múltiples definiciones de vista y controlarlas usando UserDefinedViews propiedad de conexión. Cuando utiliza esta propiedad, el conector solo ve las vistas especificadas.

Este archivo de configuración de vista definida por el usuario tiene el siguiente formato:

  • Cada elemento raíz define el nombre de una vista.
  • Cada elemento raíz contiene un elemento hijo, llamado query, que contiene la consultar SQL personalizada para la vista.

Por ejemplo:

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

Utilizar el UserDefinedViews propiedad connectio para especificar la ubicación de su archivo de configuración JSON. Por ejemplo:

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

Definición de Vistas Usando Sentencias DDL

El conector también es capaz de crear y modificar el esquema a través de instrucciones DDL como CREATE LOCAL VIEW, ALTER LOCAL VIEW y DROP LOCAL VIEW.

Crear una Vista

Para crear una nueva vista usando declaraciones DDL, proporcione el nombre de la vista y la consultar de la siguiente manera:

CREATE LOCAL VIEW [MiNombre de vista] AS SELECT * FROM Customers LIMIT 20;

Si no existe ningún archivo JSON, el código anterior crea uno. Luego, la vista se crea en el archivo de configuración JSON y ahora se puede detectar. La ubicación del archivo JSON se especifica mediante UserDefinedViews propiedad de conexión.

Modificar una Vista

Para modificar una vista existente, proporcione el nombre de una vista existente junto con la nueva consultar que le gustaría usar en su lugar:

ALTER LOCAL VIEW [MiNombre de Vista] AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';

Luego, la vista se actualiza en el archivo de configuración JSON.

Suelta una Vista

Para descartar una vista existente, proporcione el nombre de un esquema existente junto con la nueva consultar que le gustaría usar en su lugar.

DROP LOCAL VIEW [MyViewName]

Esto elimina la vista del archivo de configuración JSON. Ya no se puede consultar.

Esquema para Vistas Definidas por el Usuario

Las vistas definidas por el usuario se exponen en UserViews esquema por defecto. Esto se hace para evitar que el nombre de la vista entre en conflicto con una entidad real en el modelo de datos. Puede cambiar el nombre del esquema utilizado para UserViews configurando UserViewsSchemaName propiedad.

Trabajar con Vistas Definidas por el Usuario

Por ejemplo, una instrucción SQL con una vista definida por el usuario llamada UserViews.RCustomers solo enumera clientes en Raleigh:

SELECT * FROM Customers WHERE City = 'Raleigh';

Un ejemplo de una consultar al controlador:

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

Dando como resultado la consultar efectiva a la fuente:

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

Ese es un ejemplo muy simple de una consultar a una vista definida por el usuario que es efectivamente una combinación de la consultar de vista y la definición de vista. Es posible componer estas consultas en patrones mucho más complejos. Todas las operaciones de SQL están permitidas en ambas consultas y se combinan cuando corresponde.

Configuración SSL

Personalización de la Configuración SSL

De forma predeterminada, el conector intenta negociar SSL/TLS comparando el certificado del servidor con el almacén de certificados de confianza del sistema.

Para especificar otro certificado, consulte SSLServerCert propiedad de los formatos disponibles para hacerlo.

Modelo de Datos

El conector Jitterbit para Dynamics 365 Sales modela entidades de Dynamics 365 Sales en tablas relacionales, vistas y procedimientos almacenados. Las definiciones de la tabla se obtienen dinámicamente del servicio OData al que se conecta. Cualquier cambio en los metadatos, como columnas agregadas o eliminadas o cambios en el tipo de datos, se puede cargar volviendo a conectarse.

Puntos de vista

Puntos de vista describe las vistas disponibles. Las vistas se definen estáticamente para modelar PicklistAttributeMetadata, MultiPicklistAttributeMetadata y más.

Procedimientos almacenados

NOTE: Los procedimientos almacenados no se admiten actualmente. Consulte la nota anterior para detalles.

Procedimientos almacenados son interfaces similares a funciones para la fuente de datos. Se pueden usar para realizar operaciones adicionales que quedan fuera del modelo CRUD estándar, como recuperar un token de acceso OAuth.

Mesas

El conector utiliza los servicios OData de Dynamics 365 Sales para obtener de forma dinámica una lista de tablas. Todas sus tablas de Dynamics 365 Sales se mostrarán como disponibles una vez que se conecte.

Puntos de Vista

Las vistas se componen de columnas y pseudocolumnas. Las vistas son similares a las tablas en la forma en que se representan los datos; sin embargo, las vistas no admiten actualizaciones. Las entidades que se representan como vistas suelen ser entidades de solo lectura. A menudo, un procedimiento almacenado* está disponible para actualizar los datos si dicha funcionalidad es aplicable a la fuente de datos.

Las consultas se pueden ejecutar contra una vista como si fuera una tabla normal, y los datos que regresan son similares en ese sentido. Para obtener más información sobre las tablas y los procedimientos almacenados, vaya a sus entradas correspondientes en este documento de ayuda.

Conector Jitterbit para Vistas de Dynamics 365 Sales

Nombre Descripción
MultiSelectPickListAttributeMetaData Contiene los metadatos de la lista de selección para un tipo de atributo MultiSelect OptionSet.
MultiSelectPickListOptions Contiene el valor de opciones de MultiSelect PicklistMetadata.
PickListAttributeMetaData Contiene los metadatos para una Lista de selección de tipo de atributo.
PickListOptions Contiene el valor Opciones de PickListMetaData

MultiSelectPickListAttributeMetaData

Contiene los metadatos de la lista de selección para un tipo de atributo MultiSelect OptionSet.

Seleccionar

El conector utilizará la API de Dynamics 365 Sales para procesar las condiciones de la cláusula WHERE creadas con la siguiente columna y operador. El resto del filtro se ejecuta del lado del cliente dentro del conector.

  • TableName admite operadores '=','IN'.

Por ejemplo, las siguientes consultas se procesan en el lado del servidor:

SELECT * FROM MultiSelectPickListAttributeMetaData

SELECT * FROM MultiSelectPickListAttributeMetaData where TableName = 'teams'

SELECT * FROM MultiSelectPickListAttributeMetaData where TableName IN ('accounts','teams')
Columnas
Nombre Tipo Descripción
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

Contiene el valor de opciones de MultiSelect PicklistMetadata.

Seleccionar

El conector utilizará la API de Dynamics 365 Sales para procesar las condiciones de la cláusula WHERE creadas con la siguiente columna y operador. El resto del filtro se ejecuta del lado del cliente dentro del conector.

  • TableName admite operadores '=','IN'.

Por ejemplo, las siguientes consultas se procesan en el lado del servidor:

SELECT * FROM MultiSelectPickListOptions

SELECT * FROM MultiSelectPickListOptions where TableName = 'teams'

SELECT * FROM MultiSelectPickListOptions where TableName IN ('accounts','teams')
Columnas
Nombre Tipo Descripción
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

Contiene los metadatos para una Lista de selección de tipo de atributo.

Seleccionar

El conector utilizará la API de Dynamics 365 Sales para procesar las condiciones de la cláusula WHERE creadas con la siguiente columna y operador. El resto del filtro se ejecuta del lado del cliente dentro del conector.

  • TableName admite operadores '=','IN'.

Por ejemplo, las siguientes consultas se procesan en el lado del servidor:

SELECT * FROM PickListAttributeMetaData

SELECT * FROM PickListAttributeMetaData where TableName = 'teams'

SELECT * FROM PickListAttributeMetaData where TableName IN ('accounts','teams')
Columnas
Nombre Tipo Descripción
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

Contiene el valor de Opciones de PickListMetaData

Seleccionar

El conector utilizará la API de Dynamics 365 Sales para procesar las condiciones de la cláusula WHERE creadas con la siguiente columna y operador. El resto del filtro se ejecuta del lado del cliente dentro del conector.

  • TableName admite operadores '=','IN'.

Por ejemplo, las siguientes consultas se procesan en el lado del servidor:

SELECT * FROM PickListOptions

SELECT * FROM PickListOptions where TableName = 'teams'

SELECT * FROM PickListOptions where TableName IN ('accounts','teams')
Columnas
Nombre Tipo Descripción
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

Procedimientos Almacenados

Procedimientos almacenados* están disponibles para complementar los datos disponibles del Modelo de datos. Puede ser necesario actualizar los datos disponibles desde una vista usando un procedimiento almacenado* porque los datos no proporcionan actualizaciones bidireccionales directas, similares a tablas. En estas situaciones, la recuperación de los datos se realiza utilizando la vista o tabla adecuada, mientras que la actualización se realiza llamando a un procedimiento almacenado. Procedimientos almacenados* toman una lista de parámetros y devuelven un conjunto de datos que contiene la colección de tuplas que constituyen la respuesta.

Conector Jitterbit para Procedimientos Almacenados de Dynamics 365 Sales

Nombre Descripción
CreateAssociation Crea una asociación entre dos entidades en función de una propiedad de navegación. Establezca la propiedad de conexión IncluirNavigationProperties en verdadero para usar este procedimiento almacenado.
GetAdminConsentURL Obtiene la URL de consentimiento del administrador que un administrador de un dominio determinado debe abrir por separado para otorgar acceso a su aplicación. Solo se necesita cuando se usan credenciales de OAuth personalizadas.
GetOAuthAccessToken Obtiene el token de autenticación utilizado para autenticarse en el servicio.
GetOAuthAuthorizationUrl Obtiene una URL de autorización del origen de datos. La URL de autorización se puede utilizar para generar un verificador necesario para obtener el token de OAuth.
ListAssociations Enumera las asociaciones para una tabla y una propiedad de navegación determinadas. Establezca la propiedad de conexión IncluirNavigationProperties en verdadero para usar este procedimiento almacenado.
ListNavigationProperties Enumera las propiedades de navegación de una tabla determinada y las tablas a las que están asociadas. Las propiedades de navegación son utilizadas por los procedimientos almacenados de la Asociación. Establezca la propiedad de conexión IncluirNavigationProperties en verdadero para usar este procedimiento almacenado.
RefreshOAuthAccessToken Obtiene un OAuthAccessToken actualizado si se pasa un token para actualizar.
RemoveAssociation Elimina una asociación entre dos entidades en función de una propiedad de navegación. Establezca la propiedad de conexión IncluirNavigationProperties en verdadero para usar este procedimiento almacenado.

CrearAsociación

Crea una asociación entre dos entidades en función de una propiedad de navegación. Establezca la propiedad de conexión IncluirNavigationProperties en verdadero para usar este procedimiento almacenado.

Aporte
Nombre Tipo Obligatorio Descripción
FromId String Cierto El ID de la entidad para la que está creando una asociación.
FromTable String Cierto La tabla de donde proviene la entidad para la que está creando una asociación. Por ejemplo, si el FromId era de una tabla llamada Clientes, establezca este parámetro en: Clientes.
ToNavigationProperty String Cierto La propiedad de navegación en la que está creando una asociación. Se puede obtener de ListNavigationProperties.
ToId String Cierto El ID de la entidad de navegación. Esto vendrá de la tabla asociada con la propiedad de navegación.

GetAdminConsentURL

Obtiene la URL de consentimiento del administrador que un administrador de un dominio determinado debe abrir por separado para otorgar acceso a su aplicación. Solo se necesita cuando se usan credenciales de OAuth personalizadas.

Aporte
Nombre Tipo Obligatorio Descripción
CallbackUrl String Falso La URL a la que se redirigirá al usuario después de autorizar su aplicación. Este valor debe coincidir con la URL de respuesta en la configuración de la aplicación de Azure AD.
State String Falso El mismo valor para el estado que envió cuando solicitó el código de autorización.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
URL String La URL de autorización, ingresada en un navegador web para obtener el token de verificación y autorizar su aplicación.

Obtener Token de Acceso de OAuth

Obtiene el token de autenticación utilizado para autenticarse en el servicio.

Aporte
Nombre Tipo Obligatorio Descripción
AuthMode String Falso El tipo de autenticación que está intentando. Utilice App para una aplicación de Windows o Web para aplicaciones basadas en web. El valor predeterminado es APLICACIÓN.
Verifier String Falso Un verificador devuelto por el servicio que se debe ingresar para devolver el token de acceso. Solo se necesita cuando se utiliza el modo de autenticación web. Se obtiene navegando a la URL devuelta en GetOAuthAuthorizationUrl.
CallbackUrl String Falso La URL a la que se redirigirá al usuario después de autorizar su aplicación.
State String Falso Este campo indica cualquier estado que pueda ser de utilidad para su solicitud al recibir la respuesta. Su aplicación recibe el mismo valor que envió, ya que este parámetro realiza un viaje de ida y vuelta al servidor de autorización de Dynamics y viceversa. Los usos incluyen redirigir al usuario al recurso correcto en su sitio, usar nonces y mitigar la falsificación de solicitudes entre sitios.
Prompt String Falso El valor predeterminado es 'select_account', que solicita al usuario que seleccione la cuenta durante la autenticación. Establézcalo en 'Ninguno', para no solicitar, 'iniciar sesión' para obligar al usuario a ingresar sus credenciales o 'consentimiento' para activar el cuadro de diálogo de consentimiento de OAuth después de que el usuario inicie sesión, pidiéndole que otorgue permisos a la aplicación.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
OAuthAccessToken String El token de acceso de OAuth.
\* String Otras salidas que puede devolver la fuente de datos.

Obtener URL de Autorización de OAuth

Obtiene una URL de autorización del origen de datos. La URL de autorización se puede utilizar para generar un verificador necesario para obtener el token de OAuth.

Aporte
Nombre Tipo Obligatorio Descripción
CallbackURL String Falso La URL a la que se redirigirá al usuario después de autorizar su aplicación.
State String Falso Este campo indica cualquier estado que pueda ser de utilidad para su solicitud al recibir la respuesta. Su aplicación recibe el mismo valor que envió, ya que este parámetro realiza un viaje de ida y vuelta al servidor de autorización de Dynamics y viceversa. Los usos incluyen redirigir al usuario al recurso correcto en su sitio, usar nonces y mitigar la falsificación de solicitudes entre sitios.
Prompt String Falso El valor predeterminado es 'select_account', que solicita al usuario que seleccione la cuenta durante la autenticación. Establézcalo en 'Ninguno', para no solicitar, 'iniciar sesión' para obligar al usuario a ingresar sus credenciales o 'consentimiento' para activar el cuadro de diálogo de consentimiento de OAuth después de que el usuario inicie sesión, pidiéndole que otorgue permisos a la aplicación.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
Url String La URL de autorización que deberá abrirse para que el usuario autorice su aplicación.

Asociaciones de Listas

Enumera las asociaciones para una tabla y una propiedad de navegación determinadas. Establezca la propiedad de conexión IncluirNavigationProperties en verdadero para usar este procedimiento almacenado.

Aporte
Nombre Tipo Obligatorio Descripción
FromId String Cierto El ID de la entidad para la que está enumerando asociaciones.
FromTable String Cierto La tabla de donde proviene la entidad para la que está enumerando las entidades. Por ejemplo, si el FromId era de una tabla llamada Clientes, establezca este parámetro en: Clientes.
NavigationProperty String Cierto La propiedad de navegación para la que está enumerando las asignaciones. Se puede obtener de ListNavigationProperties.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
Uri String La URL vinculada.

ListNavigationPropertiesListNavigationProperties

Enumera las propiedades de navegación de una tabla determinada y las tablas a las que están asociadas. Las propiedades de navegación son utilizadas por los procedimientos almacenados de la Asociación. Establezca la propiedad de conexión IncluirNavigationProperties en verdadero para usar este procedimiento almacenado.

Aporte
Nombre Tipo Obligatorio Descripción
TableName String Cierto El nombre de la tabla para la lista de propiedades de navegación.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
Name String El nombre de la propiedad de navegación.
AssociatedTable String La tabla a la que está asociada la propiedad de navegación.

RefreshOAuthAccessToken

Obtiene un OAuthAccessToken actualizado si se pasa un token para actualizar.

Aporte
Nombre Tipo Obligatorio Descripción
OAuthRefreshToken String Cierto El token de actualización devuelto del intercambio de código de autorización original.
Columnas del Conjunto de Resultados
Nombre Tipo Descripción
OAuthAccessToken String El nuevo OAuthAccessToken devuelto por el servicio.
OAuthRefreshToken String Un token que puede usarse para obtener un nuevo token de acceso.
ExpiresIn String El tiempo de vida restante en el token de acceso.

QuitarAsociación

Elimina una asociación entre dos entidades en función de una propiedad de navegación. Establezca la propiedad de conexión IncluirNavigationProperties en verdadero para usar este procedimiento almacenado.

Aporte
Nombre Tipo Obligatorio Descripción
FromId String Cierto El ID de la entidad para la que está eliminando una asociación.
FromTable String Cierto La tabla de donde proviene la entidad para la que está eliminando una asociación. Por ejemplo, si el FromId era de una tabla llamada Clientes, establezca este parámetro en: Clientes.
ToNavigationProperty String Cierto La propiedad de navegación en la que está eliminando una asociación. Se puede obtener de ListNavigationProperties.
ToId String Cierto El ID de la entidad de navegación. Esto vendrá de la tabla asociada con la propiedad de navegación.

Tablas del Sistema

Puede consultar las tablas del sistema que se describen en esta sección para acceder a la información del esquema, la información sobre la funcionalidad del origen de datos y las estadísticas de operación lote.

Tablas de Esquema

Las siguientes tablas devuelven metadatos de la base de datos para Dynamics 365 Sales:

Tablas de Fuentes de Datos

Las siguientes tablas devuelven información sobre cómo conectarse y consultar la fuente de datos:

  • sys_connection_props: Devuelve información sobre las propiedades de conexión disponibles.
  • sys_sqlinfo: describe las consultas SELECT que el conector puede descargar al origen de datos.

Tablas de Información de Consulta

La siguiente tabla devuelve estadísticas de consultar para consultas de modificación de datos, incluidas las operaciones lote:

  • identidad_sys: devuelve información sobre operaciones lote o actualizaciones individuales.

Sys_catalogs

Enumera las bases de datos disponibles.

La siguiente consultar recupera todas las bases de datos determinadas por la cadena de conexión:

SELECT * FROM sys_catalogs
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos.

Sys_schemas

Enumera los esquemas disponibles.

La siguiente consultar recupera todos los esquemas disponibles:

SELECT * FROM sys_schemas
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos.
SchemaName String El nombre del esquema.

Sys_tables

Enumera las tablas disponibles.

La siguiente consultar recupera las tablas y vistas disponibles:

SELECT * FROM sys_tables
Columnas
Nombre Tipo Descripción
CatalogName String La base de datos que contiene la tabla o vista.
SchemaName String El esquema que contiene la tabla o vista.
TableName String El nombre de la tabla o vista.
TableType String El tipo de tabla (tabla o vista).
Description String Una descripción de la tabla o vista.
IsUpdateable Boolean Si la tabla se puede actualizar.

Sys_tablecolumns

Describe las columnas de las tablas y vistas disponibles.

La siguiente consultar devuelve las columnas y los tipos de datos de la tabla Cuentas:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Accounts' 
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la tabla o vista.
SchemaName String El esquema que contiene la tabla o vista.
TableName String El nombre de la tabla o vista que contiene la columna.
ColumnName String El nombre de la columna.
DataTypeName String El nombre del tipo de datos.
DataType Int32 Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente.
Length Int32 El tamaño de almacenamiento de la columna.
DisplaySize Int32 El ancho máximo normal de la columna designada en caracteres.
NumericPrecision Int32 El número máximo de dígitos en datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora.
NumericScale Int32 La escala de columna o número de dígitos a la derecha del punto decimal.
IsNullable Boolean Si la columna puede contener nulo.
Description String Una breve descripción de la columna.
Ordinal Int32 El número de secuencia de la columna.
IsAutoIncrement String Si el valor de la columna se asigna en incrementos fijos.
IsGeneratedColumn String Si se genera la columna.
IsHidden Boolean Si la columna está oculta.
IsArray Boolean Si la columna es una matriz.

Sys_procedimientos

Enumera los procedimientos almacenados disponibles.

La siguiente consultar recupera los procedimientos almacenados disponibles:

SELECT * FROM sys_procedures
Columnas
Nombre Tipo Descripción
CatalogName String La base de datos que contiene el procedimiento almacenado.
SchemaName String El esquema que contiene el procedimiento almacenado.
ProcedureName String El nombre del procedimiento almacenado.
Description String Una descripción del procedimiento almacenado.
ProcedureType String El tipo de procedimiento, como PROCEDIMIENTO o FUNCIÓN.

Sys_procedureparameters

Describe procedimiento almacenado* parámetros.

La siguiente consultar devuelve información sobre todos los parámetros de entrada para el procedimiento almacenado GetOAuthAccessToken:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='GetOAuthAccessToken' AND Direction=1 OR Direction=2
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene el procedimiento almacenado.
SchemaName String El nombre del esquema que contiene el procedimiento almacenado.
ProcedureName String El nombre del procedimiento almacenado* que contiene el parámetro.
ColumnName String El nombre del procedimiento almacenado* parámetro.
Direction Int32 Un número entero correspondiente al tipo de parámetro: entrada (1), entrada/salida (2) o salida (4). Los parámetros de tipo de entrada/salida pueden ser tanto parámetros de entrada como de salida.
DataTypeName String El nombre del tipo de datos.
DataType Int32 Un número entero que indica el tipo de datos. Este valor se determina en tiempo de ejecución en función del ambiente.
Length Int32 El número de caracteres permitidos para los datos de caracteres. El número de dígitos permitidos para datos numéricos.
NumericPrecision Int32 La máxima precisión para datos numéricos. La longitud de la columna en caracteres para datos de carácter y fecha y hora.
NumericScale Int32 El número de dígitos a la derecha del punto decimal en datos numéricos.
IsNullable Boolean Si el parámetro puede contener nulo.
IsRequired Boolean Si el parámetro es necesario para la ejecución del procedimiento.
IsArray Boolean Si el parámetro es una matriz.
Description String La descripción del parámetro.
Ordinal Int32 El índice del parámetro.

Sys_keycolumns

Describe las claves primarias y foráneas. La siguiente consultar recupera la clave principal de la tabla Cuentas:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Accounts'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la clave.
SchemaName String El nombre del esquema que contiene la clave.
TableName String El nombre de la tabla que contiene la clave.
ColumnName String El nombre de la columna clave.
IsKey Boolean Si la columna es una clave principal en la tabla a la que se hace referencia en el campo TableName.
IsForeignKey Boolean Si la columna es una clave externa a la que se hace referencia en el campo TableName.
PrimaryKeyName String El nombre de la clave principal.
ForeignKeyName String El nombre de la clave foránea.
ReferencedCatalogName String La base de datos que contiene la clave principal.
ReferencedSchemaName String El esquema que contiene la clave principal.
ReferencedTableName String La tabla que contiene la clave principal.
ReferencedColumnName String El nombre de la columna de la clave principal.

Sys_foreignkeys

Describe las claves foráneas. La siguiente consultar recupera todas las claves foráneas que hacen referencia a otras tablas:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene la clave.
SchemaName String El nombre del esquema que contiene la clave.
TableName String El nombre de la tabla que contiene la clave.
ColumnName String El nombre de la columna clave.
PrimaryKeyName String El nombre de la clave principal.
ForeignKeyName String El nombre de la clave foránea.
ReferencedCatalogName String La base de datos que contiene la clave principal.
ReferencedSchemaName String El esquema que contiene la clave principal.
ReferencedTableName String La tabla que contiene la clave principal.
ReferencedColumnName String El nombre de la columna de la clave principal.
ForeignKeyType String Designa si la clave externa es una clave de importación (apunta a otras tablas) o de exportación (hace referencia desde otras tablas).

Sys_indexes

Describe los índices disponibles. Al filtrar en los índices, puede escribir consultas más selectivas con tiempos de respuesta de consultar más rápidos.

La siguiente consultar recupera todos los índices que no son claves principales:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Columnas
Nombre Tipo Descripción
CatalogName String El nombre de la base de datos que contiene el índice.
SchemaName String El nombre del esquema que contiene el índice.
TableName String El nombre de la tabla que contiene el índice.
IndexName String El nombre del índice.
ColumnName String El nombre de la columna asociada con el índice.
IsUnique Boolean True si el índice es único. Falso en caso contrario.
IsPrimary Boolean True si el índice es una clave principal. Falso en caso contrario.
Type Int16 Un valor entero correspondiente al tipo de índice: estadística (0), agrupado (1), hash (2) u otro (3).
SortOrder String El orden de clasificación: A para ascender o D para descender.
OrdinalPosition Int16 El número de secuencia de la columna en el índice.

Sys_connection_props

Devuelve información sobre las propiedades de conexión disponibles y las establecidas en la cadena de conexión.

Al consultar esta tabla, se debe usar la cadena de conexión de configuración:

jdbc:cdata:d365sales:config:

Esta cadena de conexión le permite consultar esta tabla sin una conexión válida.

La siguiente consultar recupera todas las propiedades de conexión que se han establecido en la cadena de conexión o se han establecido a través de un valor predeterminado:

SELECT * FROM sys_connection_props WHERE Value <> ''
Columnas
Nombre Tipo Descripción
Name String El nombre de la propiedad de conexión.
ShortDescription String Una breve descripción.
Type String El tipo de datos de la propiedad de conexión.
Default String El valor predeterminado si no se establece uno explícitamente.
Values String Una lista separada por comas de valores posibles. Se lanza un error de validación si se especifica otro valor.
Value String El valor que establezca o un valor predeterminado preconfigurado.
Required Boolean Si la propiedad es necesaria para conectarse.
Category String La categoría de la propiedad de conexión.
IsSessionProperty String Si la propiedad es una propiedad de sesión, utilizada para guardar información sobre la conexión actual.
Sensitivity String El nivel de sensibilidad de la propiedad. Esto informa si la propiedad está ofuscada en los formularios de registro y autenticación.
PropertyName String Una forma truncada en mayúsculas y minúsculas del nombre de la propiedad de conexión.
Ordinal Int32 El índice del parámetro.
CatOrdinal Int32 El índice de la categoría de parámetro.
Hierarchy String Muestra las propiedades dependientes asociadas que deben configurarse junto con esta.
Visible Boolean Informa si la propiedad está visible en la interfaz de usuario de la conexión.
ETC String Diversa información miscelánea sobre la propiedad.

Sys_sqlinfo

Describe el procesamiento de consultar SELECT que el conector puede descargar al origen de datos.

Procesamiento Colaborativo de Consultas

Al trabajar con fuentes de datos que no admiten SQL-92, puede consultar la vista sys_sqlinfo para determinar las capacidades de consultar de las APIs subyacentes, expresadas en sintaxis SQL. El conector descarga la mayor cantidad posible del procesamiento de sentencias SELECT al servidor y luego procesa el resto de la consultar en la memoria.

Descubrimiento de las Capacidades SELECT de la Fuente de Datos

A continuación se muestra un conjunto de datos de ejemplo de las capacidades de SQL. El siguiente conjunto de resultados indica la funcionalidad SELECT que el conector puede descargar en el origen de datos o en el lado del cliente del proceso. Su fuente de datos puede admitir sintaxis SQL adicional. Algunos aspectos de la funcionalidad SELECT se devuelven en una lista separada por comas si es compatible; de lo contrario, la columna contiene NO.

Nombre Descripción Valores posibles
AGGREGATE_FUNCTIONS Funciones de agregación admitidas. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Si se admite la función COUNT. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR El carácter de apertura utilizado para escapar de un identificador. [
IDENTIFIER_QUOTE_CLOSE_CHAR El carácter de cierre utilizado para escapar de un identificador. ]
SUPPORTED_OPERATORS Una lista de operadores de SQL admitidos. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Si se admite GROUP BY y, de ser así, el grado de compatibilidad. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Funciones de cadena admitidas. 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 Funciones numéricas compatibles. 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 Funciones de fecha/hora admitidas. 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 tablas omitidas durante la replicación.
REPLICATION_TIMECHECK_COLUMNS Una matriz de cadenas que contiene una lista de columnas que se usarán para verificar (en el orden dado) para usar como una columna modificada durante la replicación.
IDENTIFIER_PATTERN Valor de cadena que indica qué cadena es válida para un identificador.
SUPPORT_TRANSACTION Indica si el proveedor admite transacciones como compromiso y reversión. YES, NO
DIALECT Indica el dialecto SQL a usar.
KEY_PROPERTIES Indica las propiedades que identifican la base de datos uniforme.
SUPPORTS_MULTIPLE_SCHEMAS Indica si pueden existir varios esquemas para el proveedor. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Indica si pueden existir varios catálogos para el proveedor. YES, NO
DATASYNCVERSION La versión de sincronización de datos necesaria para acceder a este controlador. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY La categoría Sincronización de datos de este controlador. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Si se admite la funcionalidad de SQL mejorada más allá de lo que ofrece la API. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Si se admiten las operaciones lote. YES, NO
SQL_CAP Todas las funciones de SQL admitidas para este controlador. 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 Un valor de cadena especifica las cacheOptions preferidas.
ENABLE_EF_ADVANCED_QUERY Indica si el controlador admite directamente consultas avanzadas provenientes de Entity Framework. De lo contrario, las consultas se manejarán del lado del cliente. YES, NO
PSEUDO_COLUMNS Una matriz de cadenas que indica las pseudocolumnas disponibles.
MERGE_ALWAYS Si el valor es verdadero, el modo de combinación se ejecuta a la fuerza en la sincronización de datos. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY Una consultar de selección para devolver la fecha y hora de inicio de la réplica.
REPLICATION_MIN_FUNCTION Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un min del lado del servidor.
REPLICATION_START_DATE Permite que un proveedor especifique una fecha de inicio de réplica.
REPLICATION_MAX_DATE_QUERY Una consultar de selección para devolver la fecha y hora de finalización de la réplica.
REPLICATION_MAX_FUNCTION Permite que un proveedor especifique el nombre de la fórmula que se usará para ejecutar un máx. del lado del servidor.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE Una lista de tablas que omitirán dividir la réplica en fragmentos en la réplica inicial.
CHECKCACHE_USE_PARENTID Indica si la instrucción CheckCache debe realizarse en la columna de clave principal. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Indica procedimientos almacenados* que se puede utilizar para generar archivos de esquema.

La siguiente consultar recupera los operadores que se pueden usar en la cláusula WHERE:

SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'

Tenga en cuenta que las tablas individuales pueden tener diferentes limitaciones o requisitos en la cláusula WHERE; consulte el Modelo de datos para obtener más información.

Columnas
Nombre Tipo Descripción
NAME String Un componente de la sintaxis SQL o una capacidad que se puede procesar en el servidor.
VALUE String Detalles sobre el SQL o la sintaxis de SQL admitidos.

Sys_identidad

Devuelve información sobre los intentos de modificación.

La siguiente consultar recupera los Id. de las filas modificadas en una operación lote:

SELECT * FROM sys_identity
Columnas
Nombre Tipo Descripción
Id String El ID generado por la base de datos devuelto de una operación de modificación de datos.
Batch String Un identificador para el lote. 1 para una sola operación.
Operation String El resultado de la operación en el lote: INSERTADO, ACTUALIZADO o ELIMINADO.
Message String ÉXITO o un mensaje de error si falla la actualización en el lote.

Asignación de Tipos de Datos

Asignaciones de Tipos de Datos

El conector asigna tipos del origen de datos al tipo de datos correspondiente disponible en el esquema. La siguiente tabla documenta estas asignaciones.

Dynamics 365 Sales (OData V4) Esquema
Edm.Binary binario
Edm.Boolean bool
Edm.Date fecha y hora
Edm.DateTimeOffset fecha y hora
Edm.Decimal decimal
Edm.Double doble
Edm.Guid guía
Edm.Int32 entero
Edm.String cadena
Edm.TimeOfDay tiempo

Propiedades de Configuraciones Avanzadas

Las propiedades de configuraciones avanzadas son las diversas opciones que se pueden utilizar para establecer una conexión. Esta sección proporciona una lista completa de las opciones que puede configurar. Haga clic en los enlaces para obtener más detalles.

Autenticación

Propiedad Descripción
AuthScheme El tipo de autenticación que se usará al conectarse a Dynamics 365 Sales.
OrganizationURL La URL de su organización de Dynamics 365. Por ejemplo, https://abc123.crm.dynamics.com/.
ApiVersion La versión de la API que se está utilizando. Esto se puede especificar para acceder a una nueva versión de la API una vez que se lance.

Autenticación de Azure

Propiedad Descripción
AzureTenant El inquilino de Microsoft Online que se usa para acceder a los datos. Si no se especifica, se utilizará su tentant predeterminado.
AzureEnvironment El ambiente de Azure que se usará al establecer una conexión.

OAuth

Propiedad Descripción
InitiateOAuth Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.
OAuthClientId El ID de cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.
OAuthClientSecret El secreto del cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.
OAuthGrantType El tipo de concesión para el flujo de OAuth.

SSL

Propiedad Descripción
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

Esquema

Propiedad Descripción
Location Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
BrowsableSchemas Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC.
Views Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC.

Misceláneas

Propiedad Descripción
AllowDuplicateRecords Indica si el controlador debe comprobar las reglas de detección de duplicados configuradas.
IncludeFormattedValues Indica si se deben exponer las columnas que contienen valores con formato.
IncludeNavigationProperties Un valor booleano que indica si las propiedades de navegación deben incluirse en la lista de columnas.
MaxRows Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
Pagesize El número máximo de resultados para devolver por página desde Dynamics 365 Sales.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.

Autenticación

Esta sección proporciona una lista completa de las propiedades de autenticación que puede configurar.

Propiedad Descripción
AuthScheme El tipo de autenticación que se usará al conectarse a Dynamics 365 Sales.
OrganizationURL La URL de su organización de Dynamics 365. Por ejemplo, https://abc123.crm.dynamics.com/.
ApiVersion La versión de la API que se está utilizando. Esto se puede especificar para acceder a una nueva versión de la API una vez que se lance.

AuthScheme

El tipo de autenticación que se usará al conectarse a Dynamics 365 Sales. Actualmente, solo AzureServicePrincipal esta apoyado

Valores Posibles

AzureServicePrincipal

Tipo de Datos

string

Valor por Defecto

"AzureServicePrincipal"

Observaciones
  • AzureServicePrincipal: configure esto para autenticarse como una entidad de servicio de Azure.

URL de la Organización

La URL de su organización de Dynamics 365. Por ejemplo, https://abc123.crm.dynamics.com/.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

La URL que usa para iniciar sesión en su organización de Dynamics 365. Por ejemplo, https://abc123.crm.dynamics.com/. Esto también puede ser conocido como el recurso.

ApiVersion

La versión de la API que se está utilizando. Esto se puede especificar para acceder a una nueva versión de la API una vez que se lance.

Tipo de Datos

string

Valor por Defecto

"9.0"

Observaciones

La versión de la API que se está utilizando. Esto se puede especificar para acceder a una nueva versión de la API una vez que se lance. De lo contrario, puede utilizar el predeterminado.

Autenticación de Azure

Esta sección proporciona una lista completa de las propiedades de autenticación de Azure que puede configurar.

Propiedad Descripción
AzureTenant El inquilino de Microsoft Online que se usa para acceder a los datos. Si no se especifica, se utilizará su tentant predeterminado.
AzureEnvironment El ambiente de Azure que se usará al establecer una conexión.

AzureInquilino

El inquilino de Microsoft Online que se usa para acceder a los datos. Si no se especifica, se utilizará su tentant predeterminado.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

El inquilino de Microsoft Online que se usa para acceder a los datos. Por ejemplo, "ejemplo.onmicrosoft.com". Como alternativa, especifique el ID de arrendatario. Este valor es el ID de directorio en Azure Portal > Active Directory de Azure > Propiedades.

Por lo general, no es necesario especificar el arrendatario. Microsoft puede determinar esto automáticamente cuando se utiliza el OAuthGrantType establecido en CÓDIGO (predeterminado). Sin embargo, puede fallar en el caso de que el usuario pertenezca a varios inquilinos. Por ejemplo, si un administrador del dominio A invita a un usuario del dominio B a ser un usuario invitado. El usuario ahora pertenecerá a ambos inquilinos. Es una buena práctica especificar el inquilino, aunque en general las cosas normalmente deberían funcionar sin tener que especificarlo.

El AzureTenant es necesario cuando se configura OAuthGrantType al CLIENTE. Cuando se usan credenciales de cliente, no hay contexto de usuario. Las credenciales se toman del contexto de la propia aplicación. Si bien Microsoft todavía permite obtener las credenciales de los clientes sin especificar qué arrendatario, tiene una probabilidad mucho menor de elegir el arrendatario específico con el que desea trabajar. Por esta razón, requerimos AzureTenant debe indicarse explícitamente para todas las conexiones de credenciales de clientes para garantizar que obtenga las credenciales que se aplican al dominio al que desea conectarse.

AzureAmbiente

El ambiente de Azure que se usará al establecer una conexión.

Valores Posibles

GLOBAL, CHINA, GERMANY, USGOVT

Tipo de Datos

string

Valor por Defecto

"GLOBAL"

Observaciones

En la mayoría de los casos, funcionará dejar el ambiente establecido en global. Sin embargo, si su cuenta de Azure se ha agregado a un ambiente diferente, el AzureEnvironment se puede utilizar para especificar qué ambiente.

OAuth

Esta sección proporciona una lista completa de las propiedades de OAuth que puede configurar.

Propiedad Descripción
InitiateOAuth Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.
OAuthClientId El ID de cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.
OAuthClientSecret El secreto del cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.
OAuthGrantType El tipo de concesión para el flujo de OAuth.

Iniciar OAuth

Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.

Valores Posibles

GETANDREFRESH

Tipo de Datos

string

Valor por Defecto

"GETANDREFRESH"

Observaciones

Se admite la siguiente opción:

  • GETANDREFRESH: indica que el conector manejará todo el flujo de OAuth. Si no existe ningún token actualmente, se obtendrá. Si existe un token, se actualizará cuando corresponda.

OAuthClientId

El ID de cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Como parte del registro de una aplicación OAuth, recibirá el OAuthClientId valor, a veces también llamado clave de consumidor, y un secreto de cliente, el OAuthClientSecret.

OAuthClientSecretOAuthClientSecret

El secreto del cliente asignado cuando registra su aplicación con un servidor de autorización de OAuth.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Como parte del registro de una aplicación OAuth, recibirá el secreto del cliente, también llamado secreto del consumidor. Establezca el secreto del cliente como OAuthClientSecret propiedad.

También recibirá un OAuthClientId, también denominada clave de consumidor.

OAuthGrantType

El tipo de concesión para el flujo de OAuth.

Valores Posibles

CLIENT

Tipo de Datos

string

Valor por Defecto

"CLIENT"

Observaciones

El tipo de concesión para el flujo de OAuth. Solo el CLIENT la opción es compatible.

SSL

Esta sección proporciona una lista completa de las propiedades SSL que puede configurar.

Propiedad Descripción
SSLServerCert El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

SSLServerCert

El certificado que se aceptará del servidor al conectarse mediante TLS/SSL.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Si usa una conexión TLS/SSL, esta propiedad se puede usar para especificar el certificado TLS/SSL que se aceptará del servidor. Se rechaza cualquier otro certificado que no sea de confianza para la máquina.

Esta propiedad puede tomar las siguientes formas:

Descripción Ejemplo
Un certificado PEM completo (ejemplo abreviado por brevedad) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
Una ruta a un archivo local que contiene el certificado C:\cert.cer
La clave pública (ejemplo abreviado por brevedad) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
La huella digital MD5 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) ecadbdda5a1529c58a1e9e09828d70e4
La huella digital SHA1 (los valores hexadecimales también pueden estar separados por espacios o dos puntos) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Si no se especifica, se acepta cualquier certificado en el que confíe la máquina.

La máquina valida los certificados como confiables según el almacén de confianza del sistema. El almacén de confianza utilizado es el valor 'javax.net.ssl.trustStore' especificado para el sistema. Si no se especifica ningún valor para esta propiedad, se utiliza el almacén de confianza predeterminado de Java (por ejemplo, JAVA_HOME\lib\security\cacerts).

Use '*' para indicar que acepta todos los certificados. Tenga en cuenta que esto no se recomienda debido a problemas de seguridad.

Esquema

Esta sección proporciona una lista completa de propiedades de esquema que puede configurar.

Propiedad Descripción
Location Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.
BrowsableSchemas Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA, TablaB, TablaC.
Views Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA, VistaB, VistaC.

Ubicación

Una ruta al directorio que contiene los archivos de esquema que definen tablas, vistas y procedimientos almacenados.

Tipo de Datos

string

Valor por Defecto

"%APPDATA%\\\D365Sales Data Provider\\Schema"

Observaciones

La ruta a un directorio que contiene los archivos de esquema para el conector (archivos .rsd para tablas y vistas, archivos .rsb para procedimientos almacenados). La ubicación de la carpeta puede ser una ruta relativa desde la ubicación del ejecutable. El Location La propiedad solo es necesaria si desea personalizar las definiciones (por ejemplo, cambiar el nombre de una columna, ignorar una columna, etc.) o ampliar el modelo de datos con nuevas tablas, vistas o procedimientos almacenados.

Si no se especifica, la ubicación predeterminada es "%APPDATA%\\D365Sales Data Provider\Schema" con %APPDATA% estando configurado en el directorio de configuración del usuario:

Plataforma %APPDATA%
Windows El valor de la variable de ambiente APPDATA
Mac ~/Biblioteca/Soporte de aplicaciones
Linux ~/.config

Esquemas Navegables

Esta propiedad restringe los esquemas informados a un subconjunto de los esquemas disponibles. Por ejemplo, BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Enumerar los esquemas de las bases de datos puede resultar costoso. Proporcionar una lista de esquemas en la cadena de conexión mejora el rendimiento.

Mesas

Esta propiedad restringe las tablas notificadas a un subconjunto de las tablas disponibles. Por ejemplo, Tablas=TablaA,TablaB,TablaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Listar las tablas de algunas bases de datos puede resultar costoso. Proporcionar una lista de tablas en la cadena de conexión mejora el rendimiento del conector.

Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.

Especifique las tablas que desea en una lista separada por comas. Cada tabla debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.

Puntos de Vista

Restringe las vistas informadas a un subconjunto de las tablas disponibles. Por ejemplo, Vistas=VistaA,VistaB,VistaC.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Listar las vistas de algunas bases de datos puede ser costoso. Proporcionar una lista de vistas en la cadena de conexión mejora el rendimiento del conector.

Esta propiedad también se puede utilizar como una alternativa a la lista automática de vistas si ya sabe con cuáles quiere trabajar y, de lo contrario, habría demasiadas para trabajar.

Especifique las vistas que desee en una lista separada por comas. Cada vista debe ser un identificador SQL válido con cualquier carácter especial escapado usando corchetes, comillas dobles o acentos graves. Por ejemplo, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Tenga en cuenta que al conectarse a una fuente de datos con varios esquemas o catálogos, deberá proporcionar el nombre completo de la tabla en esta propiedad, como en el último ejemplo aquí, para evitar la ambigüedad entre las tablas que existen en varios catálogos o esquemas.

Misceláneas

Esta sección proporciona una lista completa de propiedades misceláneas que puede configurar.

Propiedad Descripción
AllowDuplicateRecords Indica si el controlador debe comprobar las reglas de detección de duplicados configuradas.
IncludeFormattedValues Indica si se deben exponer las columnas que contienen valores con formato.
IncludeNavigationProperties Un valor booleano que indica si las propiedades de navegación deben incluirse en la lista de columnas.
MaxRows Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.
Other Estas propiedades ocultas se usan solo en casos de uso específicos.
Pagesize El número máximo de resultados para devolver por página desde Dynamics 365 Sales.
PseudoColumns Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.
Timeout El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.

Permitir Registros Duplicados

Indica si el controlador debe comprobar las reglas de detección de duplicados configuradas.

Tipo de Datos

string

Valor por Defecto

"true"

Observaciones

Establezca este valor en falso para evitar agregar registros duplicados mientras realiza la operación Insertar.

Incluir Valores Formateados

Indica si se deben exponer las columnas que contienen valores con formato.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Para cada columna, se agrega una adicional para exponer el valor formateado. Las nuevas columnas tendrán el sufijo "_display".

Incluir Propiedades de Navegación

Un valor booleano que indica si las propiedades de navegación deben incluirse en la lista de columnas.

Tipo de Datos

bool

Valor por Defecto

false

Observaciones

Las propiedades de navegación no se completarán con información al recuperar datos. En su lugar, las propiedades de navegación se pueden usar para enlazar a un recurso existente durante las inserciones o actualizaciones. Por ejemplo:

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

Para especificar varios valores, utilice una lista separada por comas. Por ejemplo:

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

Filas Máximas

Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.

Tipo de Datos

int

Valor por Defecto

-1

Observaciones

Limita el número de filas devueltas cuando no se usa agregación o agrupación en la consultar. Esto ayuda a evitar problemas de rendimiento en el momento del diseño.

Otro

Estas propiedades ocultas se usan solo en casos de uso específicos.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Las propiedades enumeradas a continuación están disponibles para casos de uso específicos. Los casos de uso y la funcionalidad normales del controlador no deberían requerir estas propiedades.

Especifique varias propiedades en una lista separada por punto y coma.

Integración y Formateo
Propiedad Descripción
DefaultColumnSize Establece la longitud predeterminada de los campos de cadena cuando la fuente de datos no proporciona la longitud de columna en los metadatos. El valor predeterminado es 2000.
ConvertDateTimeToGMT Determina si se convierten los valores de fecha y hora a GMT, en lugar de la hora local de la máquina.
RecordToFile=filename Registra la transferencia de datos del socket subyacente al archivo especificado.

Tamaño de Página

El número máximo de resultados para devolver por página desde Dynamics 365 Sales.

Tipo de Datos

int

Valor por Defecto

5000

Observaciones

El Pagesize la propiedad afecta al número máximo de resultados que se devolverán por página desde Dynamics 365 Sales. Establecer un valor más alto puede resultar en un mejor rendimiento a costa de memoria adicional asignada por página consumida.

Pseudocolumnas

Esta propiedad indica si incluir o no pseudocolumnas como columnas en la tabla.

Tipo de Datos

string

Valor por Defecto

""

Observaciones

Esta configuración es particularmente útil en Entity Framework, que no le permite establecer un valor para una pseudocolumna a menos que sea una columna de tabla. El valor de esta configuración de conexión tiene el formato "Tabla1=Columna1, Tabla1=Columna2, Tabla2=Columna3". Puede usar el carácter "*" para incluir todas las tablas y todas las columnas; por ejemplo, "*=*".

Se Acabó el Tiempo

El valor en segundos hasta que se lanza el error de tiempo de espera, cancelando la operación.

Tipo de Datos

int

Valor por Defecto

60

Observaciones

Si Timeout = 0, las operaciones no expiran. Las operaciones se ejecutan hasta que se completan correctamente o hasta que encuentran una condición de error.

Si Timeout caduca y la operación aún no se ha completado, el conector genera una excepción.