Detalles de Conexión de SAP Gateway
Introducción
Versión del conector
Esta documentación se basa en la versión 21.0.8257 del conector.
Empezando
Compatibilidad con la versión de SAP Gateway
El conector aprovecha la API de SAP Gateway para permitir el acceso bidireccional a los servicios de SAP que utilizan la puerta de enlace. Esto incluye, entre otros, S/4 HANA, S/4 HANA Cloud, ERP y cualquier otra edición compatible con SAP Gateway.
Establecer una Conexión
Conexión a SAP Gateway
Establezca las siguientes propiedades de conexión para acceder a las tablas de SAP Gateway.
URL
: establezca esto en la URL de su ambiente o en la URL completa del servicio. Por ejemplo, la URL completa podría aparecer como:https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/
. En este ejemplo, la URL del ambiente sería simplemente:https://sapes5.sapdevcenter.com
.Namespace
: establezca el espacio de nombres de servicio adecuado. En el ejemplo anterior, IWBEP es el espacio de nombres. Es opcional si se especifica la URL completa del servicio.Service
: establezca esto en el servicio del que desea recuperar datos. En el ejemplo anterior, el servicio es GWSAMPLE_BASIC. No es necesario si se especifica la URL completa.
Autenticación a SAP Gateway
SAP Gateway permite la autenticación básica y OAuth 2.0. Puede usar la autenticación básica para conectarse a su propia cuenta, o puede usar OAuth para permitir que otros usuarios recuperen datos de su servicio con sus cuentas.
Autenticar Utilizando la Autenticación Básica
En la autenticación básica, utiliza sus credenciales de inicio de sesión para conectarse. Establezca las siguientes propiedades:
AuthScheme
: Establézcalo en Básico.User
: Este es el nombre de usuario que utiliza para iniciar sesión en SAP Gateway.Password
: Esta es la contraseña que utiliza para iniciar sesión en SAP Gateway.
Autenticarse Mediante Autenticación OAuth
Puede conectarse sin configurar ninguna propiedad de conexión para sus credenciales de usuario. Colocar InitiateOAuth
a GETANDREFRESH para evitar repetir el intercambio de OAuth y configurar manualmente OAuthAccessToken
.
Cuando se conecta, el conector abre el extremo OAuth de SAP Gateway en su navegador predeterminado. Inicie sesión y otorgue permisos al conector. Luego, el conector completa el siguiente proceso de OAuth:
- Extrae el token de acceso de la URL de devolución de llamada y autentica las solicitudes.
- Obtiene un nuevo token de acceso cuando caduca el anterior.
- Guarda los valores de OAuth en
OAuthSettingsLocation
para persistir a través de las conexiones.
Consulte Uso de la autenticación OAuth para otros flujos de autenticación OAuth.
Autenticar Usando la Clave API
Para conectarse usando una ApiKey, configure APIKey
propiedad, y ya está listo para conectarse.
Para adquirir un APIKey
, abra el Portal de Desarrolladores y seleccione el Producto o Servicio para el cual ha publicado la API. Luego, haga clic en Suscribirse > Crear una nueva aplicación. Después de completar la información necesaria y crear la aplicación, se mostrará la clave de la aplicación. Puede copiar este valor en APIKey
propiedad de conexión.
Puede establecer el AuthScheme
a Token
para hacer cumplir el esquema de autenticación basado en token.
Uso de la Autenticación OAuth
OAuth requiere que el usuario que se autentica interactúe con SAP Gateway usando el navegador. El conector facilita esto de varias maneras, como se describe a continuación.
Credenciales Personalizadas
Puede registrar una aplicación para obtener el OAuthClientId
y OAuthClientSecret
.
NOTE :
La contraseña que elige al crear un usuario de servicio como se explica en Crear una aplicación OAuth personalizada, debe proporcionarse a través de OAuthClientSecret
propiedad.
Cuándo Crear una Aplicación OAuth Personalizada
Debe crear una aplicación OAuth personalizada para conectarse a SAP Gateway.
Creación de una Aplicación OAuth Personalizada
Consulte Crear una aplicación OAuth personalizada para obtener información sobre cómo crear una aplicación personalizada.
Credenciales Personalizadas
Cuándo Usar una Aplicación OAuth Personalizada
Se requiere crear una aplicación OAuth personalizada en todos los casos cuando se conecta a través de OAuth.
Autenticación de Escritorio con una Aplicación OAuth Personalizada
Siga los pasos a continuación para autenticarse con las credenciales de una aplicación OAuth personalizada. Consulte Crear una aplicación OAuth personalizada para más información.
Obtenga y Actualice el Token de Acceso de OAuth
Después de configurar lo siguiente, está listo para conectarse:
OAuthClientId
: Establézcalo en el ID de cliente asignado cuando registró su aplicación.OAuthClientSecret
: establezca esto en el secreto de cliente asignado cuando registró su aplicación.Scope
: Configure esto con los permisos que especificó durante Crear una aplicación OAuth personalizada.CallbackURL
: establezca esto en el URI de redirección definido cuando registró su aplicación.InitiateOAuth
: Establézcalo en GETANDREFRESH. Puede usar InitiateOAuth para evitar repetir el intercambio de OAuth y configurar manualmenteOAuthAccessToken
.
Cuando se conecta, el conector abre el extremo de OAuth en su navegador predeterminado. Inicie sesión y otorgue permisos a la aplicación. Luego, el conector completa el proceso de OAuth:
- Extrae el token de acceso de la URL de devolución de llamada y autentica las solicitudes.
- Actualiza el token de acceso cuando caduca.
- Guarda los valores de OAuth en
OAuthSettingsLocation
para persistir a través de las conexiones.
Máquinas Sin Cabeza
Uso de OAuth en una Máquina Sin Cabeza
Para crear fuentes de datos de SAP Gateway en servidores sin periféricos u otras máquinas en las que el conector no puede abrir un navegador, debe autenticarse desde otra máquina. La autenticación es un proceso de dos pasos.
- En lugar de instalar el conector en otra máquina, puede seguir los pasos a continuación para obtener el
OAuthVerifier
valor. O bien, puede instalar el conector en otra máquina y transferir los valores de autenticación de OAuth, después de autenticarse a través del flujo habitual basado en el navegador. - A continuación, puede configurar el conector para actualizar automáticamente el token de acceso desde la máquina sin periféricos.
Puede seguir el flujo de autenticación de OAuth sin cabeza utilizando las credenciales de OAuth para su aplicación de OAuth personalizada.
Uso de las Credenciales para una Aplicación OAuth Personalizada
Cree una aplicación OAuth personalizada
Es necesario crear una aplicación de OAuth personalizada en el flujo de OAuth sin interfaz.
Consulte Crear una aplicación OAuth personalizada para un procedimiento. Luego puede seguir los procedimientos a continuación para autenticarse y conectarse a los datos.
Obtenga un código verificador
Establezca las siguientes propiedades en la máquina sin periféricos:
InitiateOAuth
: Ajústelo a APAGADO.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.Scope
: Configure esto con los permisos que especificó durante Crear una aplicación OAuth personalizada.
Luego puede seguir los pasos a continuación para autenticarse desde otra máquina y obtener el OAuthVerifier
propiedad de conexión.
- Llame a GetOAuthAuthorizationURL procedimiento almacenado* con el parámetro de entrada CallbackURL establecido en el URI de redirección exacto que especificó en la configuración de su aplicación.
- Abra la URL devuelta en un navegador. Inicie sesión y otorgue permisos al conector. A continuación, se le redirige a la URL de devolución de llamada, que contiene el código verificador.
- Guarde el valor del código verificador. Establecerá esto en el
OAuthVerifier
propiedad de conexión.
En la máquina sin periféricos, establezca las siguientes propiedades de conexión para obtener los valores de autenticación de OAuth:
OAuthClientId
: establezca esto en la clave de consumidor en la configuración de su aplicación.OAuthClientSecret
: establezca esto en el secreto del consumidor en la configuración de su aplicación.Scope
: Configure esto con los permisos que especificó durante Crear una aplicación OAuth personalizada.OAuthVerifier
: Establézcalo en el código del verificador.OAuthSettingsLocation
: configure esto para conservar los valores de autenticación OAuth cifrados en el archivo especificado.InitiateOAuth
: Establézcalo en ACTUALIZAR.
Después de generar el archivo de configuración de OAuth, configure las siguientes propiedades para conectarse a los datos:
OAuthClientId
: establezca esto en la clave de consumidor en la configuración de su aplicación.OAuthClientSecret
: establezca esto en el secreto del consumidor en la configuración de su aplicación.Scope
: Configure esto con los permisos que especificó durante Crear una aplicación OAuth personalizada.OAuthSettingsLocation
: Establézcalo en el archivo que contiene los valores de autenticación de OAuth cifrados. Asegúrese de que este archivo otorgue permisos de lectura y escritura al proveedor para habilitar la actualización automática del token de acceso.InitiateOAuth
: Establézcalo en ACTUALIZAR.
Transferir configuración de OAuth
Siga los pasos a continuación para instalar el conector en otra máquina, autenticar y luego transferir los valores de OAuth resultantes.
En una segunda máquina, instale el conector y conéctese con el siguiente conjunto de propiedades:
OAuthSettingsLocation
: establezca esto en un archivo de texto grabable.InitiateOAuth
: Establézcalo en GETANDREFRESH.OAuthClientId
: Establézcalo en el ID de cliente asignado cuando registró su aplicación.OAuthClientSecret
: establezca esto en el secreto de cliente asignado cuando registró su aplicación.Scope
: Configure esto con los permisos que especificó durante Crear una aplicación OAuth personalizada.CallbackURL
: establezca esto en el URI de redirección que especificó en la configuración de su aplicación.
Pruebe la conexión para autenticarse. Los valores de autenticación resultantes se escriben, se cifran, en la ruta especificada por OAuthSettingsLocation
. Una vez que haya probado con éxito la conexión, copie el archivo de configuración de OAuth en su máquina sin periféricos. En la máquina sin periféricos, configure las siguientes propiedades de conexión para conectarse a los datos:
InitiateOAuth
: Establézcalo en ACTUALIZAR.OAuthClientId
: establezca esto en la clave de consumidor en la configuración de su aplicación.OAuthClientSecret
: establezca esto en el secreto del consumidor en la configuración de su aplicación.Scope
: Configure esto con los permisos que especificó durante Crear una aplicación OAuth personalizada.OAuthSettingsLocation
: establezca esto en la ruta a su archivo de configuración de OAuth. Asegúrese de que este archivo otorgue permisos de lectura y escritura al conector para habilitar la actualización automática del token de acceso.
Creación de una Aplicación OAuth Personalizada
Cuándo Crear una Aplicación OAuth Personalizada
Se requiere crear una aplicación OAuth personalizada en todos los casos.
Para crear una aplicación de OAuth personalizada, siga los pasos de este artículo, Registro de cliente de OAuth 2.0
Nota: La URL de redirección debe establecerse en https://oauth.cdata.com/oauth/
en el flujo de modo de autenticación de la 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 funciones avanzadas del conector SAP Gateway.
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
Jitterbit Connector for SAP Gateway le permite definir una tabla virtual cuyos contenidos se deciden 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 SampleTable_1 WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Utilizar el UserDefinedViews
propiedad de conexión para especificar la ubicación de su archivo de configuración JSON. Por ejemplo:
"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"
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
Jitterbit Connector for SAP Gateway modela entidades de SAP Gateway 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.
Mesas
El conector modela los conjuntos de entidades de escritura y los singletons descritos en el documento de metadatos del servicio como Tablas bidireccionales.
Puntos de vista
Solo se puede acceder a algunas entidades de OData a través de Propiedades de navegación. De forma predeterminada, el conector modela las propiedades de navegación como vistas independientes. Vea Vistas para obtener más información sobre cómo consultar las propiedades de navegación.
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 utilizar para buscar, actualizar y modificar información en la fuente de datos.
Mesas
El conector expone tablas para cada conjunto de entidades y singleton definidos en el documento de servicio de OData. Las entidades de estas tablas pueden insertarse, actualizarse o eliminarse mediante sentencias de inserción, actualización o eliminación de SQL estándar.
Ejecución de Inserciones Profundas con SQL
El conector admite inserciones profundas de OData, en las que simultáneamente crea una entidad base y la enlace a entidades relacionadas, especificando propiedades de navegación. Para especificar Propiedades de navegación para una entidad, crea una tabla temporal para la propiedad de navegación y luego hace referencia a la tabla temporal en la inserción a la tabla base. Haga referencia a la tabla temporal en la columna de propiedad de navegación adecuada en la tabla base. Cada columna de propiedad de navegación tiene el prefijo "Enlazado".
Tenga en cuenta que debe definir las tablas temporales e insertarlas en la entidad base dentro de la misma conexión.
Ejemplo: Inserciones Profundas en SAP Gateway
Por ejemplo, considere el servicio GWSAMPLE_BASIC. En GWSAMPLE_BASIC, hay una tabla SalesOrder. Al crear un pedido de ventas, debe especificar un nuevo elemento de línea de pedido de ventas y un socio comercial existente. Para hacerlo, puede especificar las siguientes propiedades de navegación.
Creación de Tablas Temporales
Inserte las entidades relacionadas en tablas temporales que correspondan a cada propiedad de navegación. Puede especificar la clave principal de una entidad existente o puede insertar una nueva entidad.
-
SalesOrderLineItems
: Las siguientes declaraciones agregan dos SalesOrderLineItems a SalesOrder:INSERT INTO SalesOrderLineItems#TEMP (ProductID, Quantity) VALUES ('P001', 15) INSERT INTO SalesOrderLineItems#TEMP (ProductID, Quantity) VALUES ('P002', 10)
-
BusinessPartners
: La siguiente declaración especifica el BusinessPartner existente:INSERT INTO BusinessPartners#TEMP (BusinessPartnerID) VALUES ('BP001')
Nota: BusinessPartner también se puede especificar a través de la propiedad CustomerID directamente en SalesOrder. Este ejemplo no utiliza esa columna debido a la posibilidad de que no siempre esté disponible una clave externa adecuada.
Jitterbit Connector for SAP Gateway supondrá que el BusinessPartner ya existe y solo se enlace a las referencias existentes, ya que solo se especificaron las claves principales. Cuando se define algo más que la clave principal, como en el ejemplo de SalesOrderLines, Jitterbit Connector for SAP Gateway intentará crear nuevas entradas, lo que activará la inserción profunda.
Insertar la Entidad
En la declaración INSERT para la entidad base, haga referencia a las tablas temporales en las columnas LinkedToLineItems y LinkedToBusinessPartner:
INSERT INTO SalesOrders (Note, LinkedToLineItems, LinkedToBusinessPartner)
VALUES ('New sales order', 'SalesOrderLineItems#TEMP', 'BusinessPartners#TEMP')
Ejemplo de Código
A continuación se muestra el código completo para crear el nuevo ExternalUser:
Connection conn = DriverManager.getConnection(connectionStr);
Statement stat = conn.createStatement();
stat.executeUpdate("INSERT INTO SalesOrderLineItems#TEMP (ProductID, Quantity) VALUES ('P001', 15)");
stat.executeUpdate("INSERT INTO SalesOrderLineItems#TEMP (ProductID, Quantity) VALUES ('P002', 10)");
stat.executeUpdate("INSERT INTO BusinessPartners#TEMP (BusinessPartnerID) VALUES ('BP001')");
stat.executeUpdate("INSERT INTO SalesOrders (Note, LinkedToLineItems, LinkedToBusinessPartner) VALUES ('New sales order', 'SalesOrderLineItems#TEMP', 'BusinessPartners#TEMP')");
stat.close();
Puntos de Vista
Modelado de Propiedades de Navegación
De forma predeterminada, el conector modela Propiedades de navegación como vistas separadas. Las vistas se nombran con el formato ParentTable_NavigationProperty.
Consulta de Propiedades de Navegación
Para ver un ejemplo de cómo trabajar con una propiedad de navegación como una vista, considere el servicio GWSAMPLE_BASIC. La entidad SalesOrder tiene la propiedad de navegación ToLineItems. Jitterbit Connector for SAP Gateway mostrará una vista denominada SalesOrders_ToLineItems. La recuperación de datos de SalesOrders_ToLineItems mostrará los objetos SalesOrderLineItems asociados con un determinado SalesOrder. La vista SalesOrders_ToLineItems tiene una clave principal formada por el Id. de la entidad principal y el Id. de la entidad relacionada.
Tenga en cuenta que el servicio de muestra GWSAMPLE_BASIC también contiene claves externas directamente en cada entidad, como un SalesOrderID directamente en la tabla SalesOrderLineItems. En este caso, se puede lograr el mismo efecto simplemente recuperando datos directamente de la tabla SalesOrderLineItems. Sin embargo, no es un requisito en OData tener estas claves externas, ni es una garantía de que cada propiedad de navegación se expondrá individualmente como su propia tabla. Dado que no hay forma de saber de antemano lo que podría estar expuesto en su propio extremo, Jitterbit Connector for SAP Gateway mostrará tanto la vista como la tabla. En general, es mejor usar tablas cuando estén disponibles y vistas solo cuando sea necesario (es decir, no se muestra la tabla o no se pueden usar claves externas para identificar relaciones).
Propiedades de Navegación
En OData, una propiedad de navegación es una propiedad en una entidad que en sí misma es una sola entidad o una lista de entidades.
Una propiedad de navegación de una sola entidad significa una relación uno a uno. Por ejemplo, considere el extremo GWSAMPLE_BASIC SAP Gateway. El ProductSet contiene una propiedad de navegación ToSupplier, que hace referencia a una única entidad BusinessPartner.
Una propiedad de navegación de conjunto de entidades significa una relación de uno a muchos. Por ejemplo, considere el extremo GWSAMPLE_BASIC SAP Gateway. El ProductSet contiene una propiedad de navegación ToSalesOrderLineItems, que hace referencia a muchos objetos SalesOrderLineItem.
Trabajar con Propiedades de Navegación de Forma Relacional
Propiedades de navegación en entidades relacionadas con enlace de OData. De manera similar, en una base de datos relacional, una clave externa sirve para enlace tablas. Por ejemplo, el registro SalesOrderLineItem contiene la columna ProductID, que identifica de forma única qué producto está utilizando SalesOrderLineItem.
Seleccionar
Se puede utilizar para recuperar entidades asociadas. Vea Vistas para obtener más información sobre cómo consultar las propiedades de navegación.
Insertar
El conector admite inserciones profundas de OData. Vea Tablas para obtener más información sobre cómo especificar las propiedades de navegación al crear una entidad.
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.
Jitterbit Connector para Procedimientos Almacenados de SAP Gateway
Nombre | Descripción |
---|---|
GetOAuthAccessToken | Obtiene el token de acceso de OAuth de SAPGateway. |
GetOAuthAuthorizationURL | Obtiene la URL de autorización de SAPGateway. Acceda a la URL devuelta en la salida en un navegador web. Esto solicita el token de acceso que se puede usar como parte de la cadena de conexión a SAPGateway. |
RefreshOAuthAccessToken | Actualiza el token de acceso de OAuth utilizado para la autenticación con SAPGateway. |
Obtener Token de Acceso de OAuth
Obtiene el token de acceso de OAuth de SAPGateway.
Aporte
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
AuthMode | String | Falso | El tipo de modo de autenticación a utilizar. Los valores permitidos son APP, WEB. |
Verifier | String | Falso | El token verificador devuelto por SAPGateway después de usar la URL obtenida con GetOAuthAuthorizationURL. Requerido solo para Web AuthMode. |
CallbackUrl | String | Falso | La URL a la que se redirigirá al usuario después de autorizar su aplicación. |
Scope | String | Falso | El alcance o los permisos que está solicitando. |
State | String | Falso | Cualquier valor que desee que se envíe con la devolución de llamada. |
Columnas del Conjunto de Resultados
Nombre | Tipo | Descripción |
---|---|---|
OAuthAccessToken | String | El token de autenticación devuelto por SAPGateway. |
OAuthRefreshToken | String | Un token que puede usarse para obtener un nuevo token de acceso. |
ExpiresIn | String | El tiempo de vida restante para el token de acceso en segundos. |
Obtener URL de Autorización de OAuth
Obtiene la URL de autorización de SAPGateway. Acceda a la URL devuelta en la salida en un navegador web. Esto solicita el token de acceso que se puede usar como parte de la cadena de conexión a SAPGateway.
Aporte
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
CallbackUrl | String | Cierto | La URL a la que SAPGateway regresará después de que el usuario haya autorizado su aplicación. |
Scope | String | Cierto | El alcance o los permisos que está solicitando. |
Columnas del Conjunto de Resultados
Nombre | Tipo | Descripción |
---|---|---|
URL | String | La URL que se ingresará en un navegador web para obtener el token verificador y autorizar al proveedor de datos. |
RefreshOAuthAccessToken
Actualiza el token de acceso de OAuth utilizado para la autenticación con SAPGateway.
Aporte
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
OAuthRefreshToken | String | Falso | El token de actualización utilizado para actualizar el token anterior. |
Columnas del Conjunto de Resultados
Nombre | Tipo | Descripción |
---|---|---|
OAuthAccessToken | String | El token de autenticación devuelto por SAPGateway. |
ExpiresIn | String | El tiempo de vida restante en el token de acceso. |
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 SAP Gateway:
- sys_catalogs: enumera las bases de datos disponibles.
- sys_schemas: enumera los esquemas disponibles.
- sys_tablas: enumera las tablas y vistas disponibles.
- sys_tablecolumns: Describe las columnas de las tablas y vistas disponibles.
- procedimientos_sys: describe los procedimientos almacenados disponibles.
- parámetros_procedimiento_sys: Describe procedimiento almacenado* parámetros.
- sys_keycolumns: describe las claves principal y externa.
- índices_sys: Describe los índices disponibles.
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:
- 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 SampleTable_1:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='SampleTable_1'
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 SampleProcedure:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='SampleProcedure' 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 SampleTable_1:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='SampleTable_1'
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:sapgateway: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. |
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.
Propiedad | Descripción |
---|---|
AuthScheme | El tipo de autenticación que se utilizará al conectarse a SAP Gateway. |
URL | Establézcalo en la URL de su ambiente SAP Gateway o en la URL completa del servicio OData. |
Namespace | Especifique el espacio de nombres del servicio del que desea recuperar datos. Esto es necesario si el servicio no está especificado en la URL. |
Service | Especifique el servicio del que desea recuperar datos. Esto es necesario si el servicio no está especificado en la URL. |
User | La cuenta de usuario de SAP Gateway utilizada para la autenticación. |
Password | La contraseña utilizada para autenticar al usuario. |
APIKey | Ajústelo a la clave de la aplicación que ha creado. Si establece esto, el usuario y la contraseña no se utilizan para la autenticación. |
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. |
OAuthAccessToken | El token de acceso para conectarse mediante OAuth. |
CallbackURL | La URL de devolución de llamada de OAuth a la que volver cuando se autentica. Este valor debe coincidir con la URL de devolución de llamada que especifica en la configuración de su aplicación. |
Scope | Los ámbitos de permiso en valores separados por espacios. Esto es necesario cuando se autentica a través del flujo OAuth2.0. |
OAuthVerifier | El código verificador devuelto desde la URL de autorización de OAuth. |
OAuthRefreshToken | El token de actualización de OAuth para el token de acceso de OAuth correspondiente. |
OAuthExpiresIn | La vida útil en segundos del AccessToken de OAuth. |
OAuthTokenTimestamp | La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual. |
Propiedad | Descripción |
---|---|
SSLServerCert | El certificado que se aceptará del servidor al conectarse mediante TLS/SSL. |
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. |
UseDisplayNames | Booleano que determina si usar o no etiquetas SAP. |
Propiedad | Descripción |
---|---|
DataFormat | El formato de datos para recuperar datos. Seleccione XML o JSON. |
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 a devolver por página desde SAP Gateway. |
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 utilizará al conectarse a SAP Gateway. |
URL | Establézcalo en la URL de su ambiente SAP Gateway o en la URL completa del servicio OData. |
Namespace | Especifique el espacio de nombres del servicio del que desea recuperar datos. Esto es necesario si el servicio no está especificado en la URL. |
Service | Especifique el servicio del que desea recuperar datos. Esto es necesario si el servicio no está especificado en la URL. |
User | La cuenta de usuario de SAP Gateway utilizada para la autenticación. |
Password | La contraseña utilizada para autenticar al usuario. |
APIKey | Ajústelo a la clave de la aplicación que ha creado. Si establece esto, el usuario y la contraseña no se utilizan para la autenticación. |
AuthScheme
El tipo de autenticación que se utilizará al conectarse a SAP Gateway.
Valores Posibles
Auto
, OAuth
, Basic
, Token
Tipo de Datos
string
Valor por Defecto
"Auto"
Observaciones
- Automático: permite que el controlador decida automáticamente según las otras propiedades de conexión que haya establecido.
- OAuth: configure esto para realizar la autenticación OAuth.
- Básico: configure esto para usar la autenticación de usuario/contraseña BÁSICA.
- Token: Configure esto para autenticarse usando una APIKey.
URL
Establézcalo en la URL de su ambiente SAP Gateway o en la URL completa del servicio OData.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Establézcalo en la URL de su ambiente SAP Gateway o en la URL completa del servicio OData.
Espacio de Nombres
Especifique el espacio de nombres del servicio del que desea recuperar datos. Esto es necesario si el servicio no está especificado en la URL.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Especifique el espacio de nombres del que desea recuperar datos. Por ejemplo, en el servicio OData externo, http://services.odata.org/Northwind/Northwind.svc/
, 'Northwind' es el espacio de nombres del servicio. Esto es necesario si el servicio no está especificado en la URL.
Servicio
Especifique el servicio del que desea recuperar datos. Esto es necesario si el servicio no está especificado en la URL.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Especifique el servicio del que desea recuperar datos. Esto es necesario si el servicio no está especificado en la URL.
Usuario
La cuenta de usuario de SAP Gateway utilizada para la autenticación.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Junto con Contraseña, este campo se utiliza para autenticarse en el servidor SAP Gateway.
Contraseña
La contraseña utilizada para autenticar al usuario.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
El usuario y Password
se usan juntos para autenticarse con el servidor.
Clave API
Ajústelo a la clave de la aplicación que ha creado. Si establece esto, el usuario y la contraseña no se utilizan para la autenticación.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Ajústelo a la clave de la aplicación que ha creado. Si establece esto, el usuario y la contraseña no se utilizan para la autenticación.
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. |
OAuthAccessToken | El token de acceso para conectarse mediante OAuth. |
CallbackURL | La URL de devolución de llamada de OAuth a la que volver cuando se autentica. Este valor debe coincidir con la URL de devolución de llamada que especifica en la configuración de su aplicación. |
Scope | Los ámbitos de permiso en valores separados por espacios. Esto es necesario cuando se autentica a través del flujo OAuth2.0. |
OAuthVerifier | El código verificador devuelto desde la URL de autorización de OAuth. |
OAuthRefreshToken | El token de actualización de OAuth para el token de acceso de OAuth correspondiente. |
OAuthExpiresIn | La vida útil en segundos del AccessToken de OAuth. |
OAuthTokenTimestamp | La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual. |
Iniciar OAuth
Establezca esta propiedad para iniciar el proceso para obtener o actualizar el token de acceso de OAuth cuando se conecte.
Valores Posibles
OFF
, GETANDREFRESH
, REFRESH
Tipo de Datos
string
Valor por Defecto
"OFF"
Observaciones
Las siguientes opciones están disponibles:
OFF
: Indica que el flujo de OAuth será manejado en su totalidad por el usuario. Se requerirá un OAuthAccessToken para la autenticación.GETANDREFRESH
: indica que el conector manejará todo el flujo de OAuth. Si actualmente no existe ningún token, se obtendrá solicitándolo al usuario a través del navegador. Si existe un token, se actualizará cuando corresponda.REFRESH
: indica que el conector solo manejará la actualización de OAuthAccessToken. El conector nunca le pedirá al usuario que se autentique a través del navegador. El usuario debe manejar la obtención de OAuthAccessToken y OAuthRefreshToken inicialmente.
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 OAuthClientId, también denominada clave de consumidor. También recibirá un secreto de cliente, también llamado secreto de consumidor. Establezca el secreto del cliente en OAuthClientSecret
propiedad.
Token de Acceso de OAuth
El token de acceso para conectarse mediante OAuth.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
El OAuthAccessToken
la propiedad se usa para conectarse usando OAuth. El OAuthAccessToken
se recupera del servidor OAuth como parte del proceso de autenticación. Tiene un tiempo de espera dependiente del servidor y se puede reutilizar entre solicitudes.
El token de acceso se utiliza en lugar de su nombre de usuario y contraseña. El token de acceso protege sus credenciales manteniéndolas en el servidor.
URL de Devolución de Llamada
La URL de devolución de llamada de OAuth a la que volver cuando se autentica. Este valor debe coincidir con la URL de devolución de llamada que especifica en la configuración de su aplicación.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Durante el proceso de autenticación, el servidor de autorización de OAuth redirige al usuario a esta URL. Este valor debe coincidir con la URL de devolución de llamada que especifica en la configuración de su aplicación.
Alcance
Los ámbitos de permiso en valores separados por espacios. Esto es necesario cuando se autentica a través del flujo OAuth2.0.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Los ámbitos de permiso que configuró al crear el usuario del servicio para el cliente OAuth 2.0, en valores separados por espacios. Esto es necesario cuando se autentica a través del flujo OAuth2.0.
OAuthVerifier
El código verificador devuelto desde la URL de autorización de OAuth.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
El código verificador devuelto desde la URL de autorización de OAuth. Esto se puede usar en sistemas en los que no se puede iniciar un navegador, como los sistemas sin cabeza.
Autenticación en Máquinas Sin Cabeza
Ver para obtener el OAuthVerifier
valor.
Establezca OAuthSettingsLocation junto con OAuthVerifier
. Cuando se conecta, el conector intercambia el OAuthVerifier
para los tokens de autenticación de OAuth y los guarda, encriptados, en el archivo especificado. Establecer Iniciar OAuth para GETANDREFRESH automatizar el intercambio.
Una vez que se haya generado el archivo de configuración de OAuth, puede eliminar OAuthVerifier
desde las propiedades de conexión y conéctese con OAuthSettingsLocation colocar.
Para actualizar automáticamente los valores del token de OAuth, establezca OAuthSettingsLocation y además configure InitiateOAuth refrescar.
OAuthRefreshToken
El token de actualización de OAuth para el token de acceso de OAuth correspondiente.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
El OAuthRefreshToken
la propiedad se usa para actualizar el OAuthAccessToken al usar la autenticación OAuth.
OAuthExpiresIn
La vida útil en segundos del AccessToken de OAuth.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Empareje con OAuthTokenTimestamp para determinar cuándo caducará el AccessToken.
OAuthTokenTimestamp
La marca de tiempo de la época de Unix en milisegundos cuando se creó el token de acceso actual.
Tipo de Datos
string
Valor por Defecto
""
Observaciones
Emparéjese con OAuthExpiresIn para determinar cuándo expirará AccessToken.
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. |
UseDisplayNames | Booleano que determina si usar o no etiquetas SAP. |
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%\\\SAPGateway 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%\\SAPGateway 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.
UseDisplayNames
Booleano que determina si usar o no etiquetas SAP.
Tipo de Datos
bool
Valor por Defecto
false
Observaciones
Booleano que determina si usar o no etiquetas SAP.
Si se establece en verdadero, las etiquetas que ha configurado en su cuenta para las propiedades de OData servirán como nombres de columna. De lo contrario, el nombre de la propiedad será el nombre de la columna.
Misceláneas
Esta sección proporciona una lista completa de propiedades misceláneas que puede configurar.
Propiedad | Descripción |
---|---|
DataFormat | El formato de datos para recuperar datos. Seleccione XML o JSON. |
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 a devolver por página desde SAP Gateway. |
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. |
Formato de Datos
El formato de datos para recuperar datos. Seleccione XML o JSON.
Valores Posibles
XML
, JSON
Tipo de Datos
string
Valor por Defecto
"XML"
Observaciones
El formato de datos para recuperar datos. Los valores posibles son JSON y XML. Si no se especifica, XML se establecerá de forma predeterminada.
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 a devolver por página desde SAP Gateway.
Tipo de Datos
int
Valor por Defecto
5000
Observaciones
El Pagesize
la propiedad afecta el número máximo de resultados a devolver por página desde SAP Gateway. 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.