Base de datos de Oracle
Oracle Database es un sistema de administración de bases de datos relacionales desarrollado por Oracle. Conéctese a la base de datos de Oracle local para realizar diversas acciones, como crear, actualizar, obtener y eliminar en filas de una tabla.
Este conector está disponible en los siguientes productos y regiones:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | Todas las regiones Power Automate |
| Aplicaciones lógicas | Estándar | Todas las regiones de Logic Apps excepto las siguientes: - Departamento de Defensa de EE. UU. (DoD) |
| Power Apps | Premium | Todas las regiones de Power Apps |
| Power Automate | Premium | Todas las regiones Power Automate |
| Contacto | |
|---|---|
| Nombre | Microsoft |
| URL |
Compatibilidad con Microsoft LogicApps Soporte técnico de Microsoft Power Automate Soporte técnico de Microsoft Power Apps |
| Metadatos del conector | |
|---|---|
| Publicador | Microsoft |
| Sitio web | https://www.oracle.com/database/ |
| Directiva de privacidad | https://www.oracle.com/legal/privacy/ |
En este artículo se describen las operaciones del conector de Oracle Database, que está disponible para Azure Logic Apps, Microsoft Power Apps y Microsoft Power Automate. Puede usar este conector para conectarse con una base de datos de Oracle local o una máquina virtual de Azure con Oracle Database instalada.
- Para usar este conector en Power Apps, consulte Conexión a una base de datos de Oracle desde Power Apps.
Novedades
En la tabla siguiente se describen las nuevas actualizaciones y funcionalidades para oracle Databaseconnector:
| Update | Description |
|---|---|
| Octubre de 2018 | Admite el procedimiento almacenado de Oracle. |
| Enero de 2018 | Admite la vista de Oracle como tabla de solo lectura. |
Prerrequisitos
Versiones de Oracle compatibles:
- Oracle 9 y versiones posteriores
- Oracle Data Access Client (ODAC) 11.2 y versiones posteriores
Para conectarse con una base de datos de Oracle local o una máquina virtual de Azure con Oracle Database instalada, debe instalar la puerta de enlace de datos local.
Esta puerta de enlace actúa como puente y proporciona una transferencia de datos segura entre los datos locales y la aplicación o el cliente. Puede usar la misma instalación de puerta de enlace con varios servicios y orígenes de datos, lo que significa que es posible que solo tenga que instalar la puerta de enlace una vez.
Para Microsoft Power Apps, consulte también Administración de una puerta de enlace de datos local en Power Apps.
Para Azure Logic Apps, también debe crear un recurso de puerta de enlace de Azure para la instalación de la puerta de enlace antes de poder usar el conector. Para más información, consulte Conexión a datos locales desde aplicaciones lógicas.
Instale el cliente de Oracle en el equipo donde instaló la puerta de enlace de datos local. Asegúrese de instalar el proveedor de datos de Oracle de 64 bits para .NET desde Oracle y seleccione la versión de Windows Installer porque la
xcopyversión no funciona con la puerta de enlace de datos local: ODAC de 12c de 64 bits versión 4 (12.1.0.2.4) para Windows x64. Para comprobar la instalación, ejecute el siguiente comando de PowerShell:[System.Data.Common.DbProviderFactories]::GetFactoryClasses(). Si se instala un cliente de Oracle, debería ver "OracleClient Data Provider" en los resultados.Nota:
Si el cliente de Oracle no está instalado, se produce un error al intentar crear o usar la conexión. Para obtener más información, consulte la sección Errores de conexión comunes.
Antes de ejecutar las operaciones del conector, en el cliente de Oracle, establezca la variable de entorno denominada ORA_NCHAR_LITERAL_REPLACE enTRUE.
Esta configuración habilita el reemplazo literal de cadena NCHAR, lo que impide la pérdida de datos cuando los literales de cadena que contienen caracteres más allá del conjunto de caracteres de base de datos se insertan en la columna de tipo NCHAR/NVARCHAR/NCLOB . Cuando se ejecuta la instrucción , los literales de cadena se convierten en un formato interno y, a continuación, se descodifican correctamente en Unicode.
Problemas y limitaciones conocidos
En la lista siguiente se describen algunas limitaciones conocidas para el conector datbase de Oracle:
No compatible:
- Cualquier tabla con claves compuestas
- Tipos de objetos anidados en tablas
- Funciones de base de datos con valores no escalares
- Funciones de Oracle para que no aparezcan en la interfaz de usuario.
Al invocar un procedimiento almacenado en un servidor Oracle, se aplican las siguientes limitaciones:
- No se admiten parámetros OUT.
- El valor devuelto no está disponible porque el procedimiento almacenado no devuelve ningún resultado.
El límite de tamaño de respuesta es de 8 MB.
El límite de tamaño de la solicitud es de 2 MB.
La consulta nativa de Oracle se admite con las siguientes limitaciones:
- Requiere la versión de puerta de enlace 3000.63.4 (versión de octubre) o posterior.
- No se admite RefCursor.
- No se admiten parámetros OUT.
- Solo se puede devolver un conjunto de resultados.
Los siguientes tipos de datos no se pueden usar como predicados de opción de consulta:
- DATE
- TIMESTAMP
- TIMESTAMP con zona horaria
- TIMESTAMP con zona horaria local
Si algún tiempo de ejecución de consultas o procedimientos almacenados de Oracle supera los 110 segundos, se agota el tiempo de espera de la acción.
Insertar y actualizar en una tabla no devuelve el elemento completo. Devuelven solo las propiedades de entrada para la operación.
Para obtener resultados de paginación deterministas para la operación Obtener filas , se requiere una clave principal.
La operación Insertar fila requiere que proporcione un valor explícito para la columna Clave principal, aunque se defina el valor predeterminado o de creación automática.
Debido a las limitaciones del componente de la interfaz de usuario, la lista de tablas representadas durante el tiempo de diseño no puede mostrar más de 2048 elementos, que es el tamaño de página predeterminado para la operación Obtener tablas , por ejemplo:
- Lista de tablas para el parámetro de acción Obtener filas denominada "Nombre de tabla".
- Lista de tablas para el flujo "Crear conexión/Elegir una tabla" en el diseñador de Power Apps.
Si observa la latencia mientras trabaja con la base de datos de Oracle, instale los componentes de acceso a datos de Oracle (ODAC) de 64 bits más recientes en la máquina de puerta de enlace o en cada máquina de puerta de enlace, si la puerta de enlace es un clúster.
Si se produce un error en la creación de la conexión de Oracle con un tiempo de espera, intente usar una credencial de Oracle con un permiso mínimo. De este modo, la conexión es más ligera, lo que puede ayudarle a evitar experimentar el tiempo de espera durante la creación de la conexión.
Errores de conexión comunes
Error: No se puede acceder a la puerta de enlace
Causa: la puerta de enlace de datos local no se puede conectar a la nube.
Mitigación: asegúrese de que la puerta de enlace se ejecuta en el equipo local donde instaló la puerta de enlace y tiene conectividad a Internet. Evite instalar la puerta de enlace en un equipo que pueda desactivarse o pasar a suspensión. También puede intentar reiniciar el servicio de puerta de enlace de datos local (PBIEgwService).
Error: El proveedor que se usa está en desuso: "System.Data.OracleClient requiere la versión 8.1.7 o posterior del software cliente de Oracle". Consulte https://go.microsoft.com/fwlink/p/?LinkID=272376 para instalar el proveedor oficial.
Causa: El SDK de cliente de Oracle no está instalado en el equipo donde se ejecuta la puerta de enlace de datos local.
Solución: descargue e instale el SDK de cliente de Oracle en el mismo equipo que la puerta de enlace de datos local.
Error: La tabla '[Tablename]' no define ninguna columna de clave
Causa: La tabla no tiene una clave principal.
Resolución: el conector de Oracle Database requiere que use una tabla con una columna de clave principal.
Límites generales
| Nombre | Importancia |
|---|---|
| Número máximo de solicitudes que procesa el conector simultáneamente por conexión | 200 |
| Número máximo de megabytes que se transfieren a través del conector simultáneamente por conexión | 30 |
Creación de una conexión
El conector admite los siguientes tipos de autenticación:
| Predeterminado | Parámetros para crear una conexión. | Todas las regiones | Compartible |
Predeterminado
Aplicable: Todas las regiones
Parámetros para crear una conexión.
Se trata de una conexión que se puede compartir. Si la aplicación de energía se comparte con otro usuario, también se comparte la conexión. Para más información, consulte introducción a los conectores para aplicaciones de lienzo: Power Apps | Microsoft Docs
| Nombre | Tipo | Description | Obligatorio |
|---|---|---|---|
| Servidor | cuerda / cadena | Especifique oracle Server. Si se requiere un puerto o un SID, especifique en forma serverName:Port/SID. | Cierto |
| Tipo de autenticación [Seleccionar básico] | cuerda / cadena | Tipo de autenticación para conectarse a la base de datos | |
| Nombre de usuario | securestring | Credencial de nombre de usuario | Cierto |
| Contraseña | securestring | Credencial de contraseña | Cierto |
| Gateway | gatewaySetting | Puerta de enlace local (consulte https://docs.microsoft.com/data-integration/gateway para obtener más detalles). | Cierto |
Limitaciones
| Nombre | Llamadas | Período de renovación |
|---|---|---|
| Llamadas API por conexión | 1500 | 60 segundos |
Acciones
| Actualizar fila |
Esta operación actualiza una fila existente en una tabla. |
| Ejecución de una consulta de Oracle |
Ejecución de una consulta de Oracle |
| Ejecutar procedimiento almacenado |
Esta operación ejecuta un procedimiento almacenado. |
| Eliminar fila |
Esta operación elimina una fila de una tabla. |
| Insertar fila |
Esta operación inserta una nueva fila en una tabla. |
| Obtener fila |
Esta operación obtiene una fila de una tabla. |
| Obtener filas |
Esta operación obtiene filas de una tabla. |
| Obtener tablas |
Esta operación obtiene tablas de una base de datos. |
Actualizar fila
Esta operación actualiza una fila existente en una tabla.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre de la tabla
|
table | True | string |
Nombre de la tabla |
|
Id. de fila
|
id | True | string |
Identificador único de la fila que se va a actualizar |
|
Row
|
item | True | dynamic |
Fila con valores actualizados |
Devoluciones
Ejecución de una consulta de Oracle
Ejecución de una consulta de Oracle
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Query
|
query | True | dynamic |
cuerpo de la consulta |
Devoluciones
Ejecutar procedimiento almacenado
Esta operación ejecuta un procedimiento almacenado.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre del procedimiento
|
procedure | True | string |
Nombre del procedimiento almacenado |
|
Lista de parámetros
|
parameters | True | dynamic |
Parámetros de entrada para el procedimiento almacenado |
Devoluciones
Eliminar fila
Esta operación elimina una fila de una tabla.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre de la tabla
|
table | True | string |
Nombre de la tabla |
|
Id. de fila
|
id | True | string |
Identificador único de la fila que se va a eliminar |
Insertar fila
Esta operación inserta una nueva fila en una tabla.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre de la tabla
|
table | True | string |
Nombre de la tabla |
|
Row
|
item | True | dynamic |
Fila que se va a insertar en la tabla especificada |
Devoluciones
Obtener fila
Esta operación obtiene una fila de una tabla.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre de la tabla
|
table | True | string |
Nombre de la tabla de Oracle |
|
Id. de fila
|
id | True | string |
Identificador único de la fila que se va a recuperar |
Devoluciones
Obtener filas
Esta operación obtiene filas de una tabla.
Parámetros
| Nombre | Clave | Requerido | Tipo | Description |
|---|---|---|---|---|
|
Nombre de la tabla
|
table | True | string |
Nombre de la tabla de Oracle |
|
Consulta de filtro
|
$filter | string |
Una consulta de filtro ODATA para restringir las entradas devueltas (por ejemplo, stringColumn eq 'string' OR numberColumn lt 123). |
|
|
Ordenar por
|
$orderby | string |
Una consulta orderBy de ODATA para especificar el orden de las entradas. |
|
|
Recuento superior
|
$top | integer |
Número total de entradas que se recuperarán (valor predeterminado = todo). |
|
|
Omitir recuento
|
$skip | integer |
Número de entradas que se van a omitir (valor predeterminado = 0). |
|
|
Seleccionar consulta
|
$select | string |
Campos específicos que se van a recuperar de las entradas (valor predeterminado = todo). |
Devoluciones
Obtener tablas
Esta operación obtiene tablas de una base de datos.
Devoluciones
Representa una lista de tablas.
- Body
- TablesList
Definiciones
Table
Representa una tabla.
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
Nombre
|
Name | string |
Nombre de la tabla. El nombre se usa en tiempo de ejecución. |
|
DisplayName (Nombre para mostrar)
|
DisplayName | string |
Nombre para mostrar de la tabla. |
|
DynamicProperties
|
DynamicProperties | object |
Propiedades de tabla adicionales proporcionadas por el conector a los clientes. |
TablesList
Representa una lista de tablas.
| Nombre | Ruta de acceso | Tipo | Description |
|---|---|---|---|
|
value
|
value | array of Table |
Lista de tablas |