Liga-te às bases de dados Oracle a partir de fluxos de trabalho no Azure Logic Apps

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Quando os seus fluxos de trabalho precisarem de trabalhar com dados da Oracle, ligue-se à sua base de dados Oracle usando o conector Oracle Database na Azure Logic Apps. Pode aceder a bases de dados alojadas localmente ou numa máquina virtual Azure.

O conector Oracle Database ajuda-o a resolver tarefas comuns de integração de dados, tais como:

  • Adicione registos de clientes à sua base de dados.
  • Atualize os registos de encomendas na sua base de dados.
  • Obter, inserir ou eliminar linhas de tabela como parte do seu fluxo de trabalho.

Para fluxos de trabalho padrão, o conector incorporado Oracle Database está disponível em pré-visualização pública. O conector corre em processo com o runtime do Azure Logic Apps, que pode proporcionar menor latência e maior rendimento do que o conector gerido. Quando o ambiente de execução tem acesso de rede ao endpoint da Oracle, o conector incorporado não necessita de um gateway de dados no local. Os fluxos de trabalho alojados no Azure podem usar integração com rede virtual para alcançar endpoints privados da Oracle, enquanto os fluxos de trabalho que utilizam o modelo de implementação híbrido podem aceder às bases de dados Oracle a partir da infraestrutura gerida pelo cliente.

Versões suportadas da Oracle Database

A tabela seguinte lista as versões suportadas do Oracle DB que cada conector suporta:

Connector Aplicação de Lógica Versões suportadas do Oracle DB
Managed - Consumo
- Padrão
- Oracle 9 e posteriores
- Oracle Data Access Client (ODAC) 11.2 e posteriores
Incorporado (pré-visualização) Standard Oracle Database 11 e posteriores

Referência técnica do conector

O conector Oracle Database tem diferentes versões, consoante o tipo de fluxo de trabalho da aplicação lógica e o ambiente anfitrião.

Aplicação de Lógica Ambiente Versão do conector
Consumo Aplicativos Lógicos Multilocatário do Azure Conector gerenciado, que aparece na galeria de conectores sob o filtro Compartilhado .

Para mais informações, consulte a referência Oracle Database managed connector.
Standard Azure Logic Apps single-tenant, Ambiente do Serviço de Aplicações v3 (apenas planos Windows) e Híbrido Conector gerido, que aparece na Galeria de Conectores sob a opção Partilhado, e conector incorporado (pré-visualização pública), que aparece na Galeria de Conectores sob a opção Incorporado.

A versão incorporada é executada internamente com o runtime do Azure Logic Apps e não requer o gateway de dados local porque o runtime consegue acessar o endpoint Oracle através da rede.

Para mais informações, consulte:

- Referência de conectores geridos da base de dados Oracle
- Referência do conector incorporado

Operações de ligação incorporadas (pré-visualização)

O conector incorporado suporta atualmente as seguintes ações:

Nome Parâmetros Description Devoluções
Executar consulta (executeQuery) - Consulta (query): Obrigatória com o tipo string. A consulta SQL a executar.

- Parâmetros de Consulta (queryParameters): Opcionais com object tipo. Os parâmetros da consulta a incluir.
Executa uma consulta SQL. O resultado da consulta SQL como um array.
Executar procedimento armazenado (executeStoredProcedure) - Nome do procedimento armazenado (storedProcedure): Exigido com string tipo. O nome para o procedimento armazenado a executar.

- Parâmetros de procedimento armazenado (storedProcedureParameters): Opcionais do tipo object. Os parâmetros a incluir no procedimento armazenado.
Executa um procedimento armazenado e devolve os conjuntos de resultados e parâmetros de saída. - Conjuntos de resultados (resultSets) com string tipo. A lista de conjuntos de resultados devolvidos pelo procedimento armazenado.

- Parâmetros de saída (outputParmaters) com tipo string. Os valores dos parâmetros de saída retornados pelo procedimento armazenado.
Arranja linhas (getRows) - Nome da tabela (tableName): Obrigatório com o tipo string. O nome da tabela de origem.

- Condição WHERE (columnValuesForWhereCondition): Opcional com object o tipo. O par de chave-valor das colunas que identifica as linhas a obter.

- Deslocamento para Obter Linhas (skipCount): Opcional com o tipo de string. O número de entradas a saltar. O padrão é 0.

- Linhas Máximas (maxcount): Opcional com o string tipo. O número máximo de linhas a obter. O padrão é 0.

- Coluna de Ordenação (orderBy): Opcional com o string tipo. O nome da coluna a usar para ordenar o resultado da consulta.

- Selecionar Colunas (filterBy): Opcional com string tipo. O valor da coluna a obter da tabela ou da vista.
Obtém uma ou mais linhas com base na condição especificada. As linhas buscadas como um array.
Arranja mesas (getTables) Retornar apenas tabelas pertencentes ao utilizador atual (ownedTables): Opcional com o tipo string. Devolve apenas tabelas onde o proprietário é o utilizador fornecido. Recebe uma lista de tabelas. A lista de tabelas como um array.
Inserir linha (insertRow) - Nome da tabela (tableName): Obrigatório com o tipo string. O nome da tabela.

- Definir colunas (setColumns): Opcional com object tipo. Os valores dos campos da linha.
Insere uma linha. A linha inserida do tipo object.

Pré-requisitos

Pré-requisitos para conectores geridos (Consumo e Padrão)

  • Baixe e instale o gateway de dados no local.

    Esse gateway atua como uma ponte e fornece uma transferência de dados segura entre dados locais e seu aplicativo ou cliente. Você pode usar a mesma instalação de gateway com vários serviços e fontes de dados, o que significa que talvez só seja necessário instalar o gateway uma vez.

  • Instale o cliente Oracle no computador onde você instalou o gateway de dados local. Caso contrário, ocorrerá um erro quando você tenta criar ou usar a conexão.

  • Crie um recurso de gateway do Azure para a instalação do seu gateway.

Pré-requisitos para conectores incorporados (Standard, pré-visualização)

  • Certifique-se de que o seu fluxo de trabalho da aplicação Standard Logic pode chegar ao endpoint Oracle, incluindo qualquer host, porta, resolução DNS e regras de firewall.

  • Quando cria a ligação à base de dados Oracle, precisa dos seguintes valores:

    • Endereço do servidor de base de dados Oracle
    • Nome de utilizador
    • Palavra-passe

    Para o endereço do servidor, especifique este valor num dos seguintes formatos:

    Formato Sintaxe Exemplo
    Easy Connect (não SSL) < host>:<porta>/<nome do serviço de base de dados> localhost:1522/XE
    Descriptor de Substrato de Rede Transparente (TNS) (SSL): O descritor completo da Oracle Datasource (description=(retry_count=<retries>)(retry_delay=<duração-do-atraso>)(endereço=(protocolo=tcps)(porta=<número-da-porta>)(host=<host>))(connect_data=(service_name=<nome-do-serviço>))(security=(ssl_server_dn_match=sim))) (descrição=(retry_count=20)(retry_delay=3)(endereço=(protocolo=TCPS)(porta=1522)(host=localhost))(connect_data=(service_name=XE))(segurança=(ssl_server_dn_match=sim)))
  • Para a ação Get rows usada neste exemplo, precisa de saber o nome da tabela para aceder.

    Se você não souber essas informações, entre em contato com o administrador do banco de dados Oracle ou obtenha a saída da seguinte instrução: select * from <table-name>.

Problemas e limitações conhecidos

As versões atuais dos conectores não suportam gatilhos. Usa qualquer gatilho que se adapte ao teu cenário para iniciar o teu fluxo de trabalho, e depois adiciona as ações do Oracle.

Connector Limitações
Managed - Tabelas com chaves compostas
- Tabelas com tipos de objetos aninhados
- Funções de base de dados com valores não escalares
Embutido - Sem ações dedicadas de atualização ou eliminação. Para cenários de atualização e eliminação, utilize as ações Executar consulta ou Executar procedimentos armazenados .
- Alguns problemas de ligação podem surgir apenas em tempo de execução do fluxo de trabalho, em vez de na criação da ligação.
- O tempo de espera padrão da consulta é de 30 segundos. As operações mais longas continuam sujeitas às definições de limite de tempo da ação do fluxo de trabalho e do anfitrião de funções.
- Os identificadores Oracle podem distinguir maiúsculas de minúsculas. Certifique-se de que os nomes das tabelas, vistas e colunas correspondem aos identificadores definidos no seu esquema.

Adicionar uma ação

Os passos para adicionar e usar uma ação Oracle variam consoante o conector incorporado ou o conector gerido.

Adicionar uma ação de conector integrado (Padrão, pré-visualização)

  1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

  2. No designer, abre o teu fluxo de trabalho.

  3. Siga os passos genéricos para adicionar a ação Oracle Database que deseja ao seu fluxo de trabalho.

    Este exemplo continua com a ação Obter linhas .

  4. No painel de informações de ligação, introduza a informação necessária, como o nome da ligação que pretende, endereço do servidor da base de dados Oracle, nome de utilizador e palavra-passe, por exemplo:

    Screenshot mostra o portal Azure, o designer de workflow Standard e o painel de ligação Oracle Database para a ação Get rows.

  5. Quando terminar, selecione Criar novo.

  6. No painel de informação de ações, introduza os valores dos parâmetros necessários para a ação selecionada.

    Por exemplo, se selecionar a ação Obter linhas , introduza o nome da tabela:

    Screenshot mostra o portal Azure, o designer de workflow Standard e a ação Get rows com um nome de tabela de exemplo.

  7. Adiciona quaisquer outras ações necessárias para terminar o teu fluxo de trabalho.

  8. Guarde o fluxo de trabalho. Na barra de ferramentas do designer, selecione Salvar.

Adicionar uma ação de conector gerida (Consumo e Padrão)

  1. No portal Azure, abre o recurso da aplicação Consumo ou Lógica Padrão.

  2. No designer, abre o teu fluxo de trabalho.

  3. Siga os passos genéricos para adicionar a ação Oracle Database que deseja ao seu fluxo de trabalho.

    Este exemplo continua com a ação Obter linha.

  4. No painel de informações de ligação, introduza a informação de ligação necessária.

  5. Para a propriedade Gateway , selecione a assinatura do Azure e o recurso de gateway do Azure a serem usados.

  6. Depois de terminares a ligação, da lista de nomes da Tabela , seleciona uma tabela.

  7. Para a propriedade Id da linha, insira a Id da linha que deseja na sua tabela.

    No exemplo a seguir, os dados do trabalho são retornados de um banco de dados de Recursos Humanos:

    Screenshot mostra o portal Azure, o designer de workflow e a ação Get row com o nome da tabela e ID da linha.

  8. Adiciona quaisquer outras ações necessárias para terminar o teu fluxo de trabalho.

  9. Guarde o fluxo de trabalho. Na barra de ferramentas do designer, selecione Salvar.

Resolver problemas de ligação à base de dados Oracle

Conector incorporado

Se uma ação do conector incorporado falhar, consulte o histórico de execução do fluxo de trabalho e os registos de diagnóstico. A tabela seguinte descreve os códigos de estado comuns e os passos de resolução de problemas:

Código de estado Causa e resolução
401 Falha na autenticação. Verifique o nome de utilizador e a palavra-passe, o estado do bloqueio da conta e as políticas de expiração da palavra-passe.
404 O objeto da base de dados solicitado não foi encontrado. Verifique o nome do esquema, tabela ou vista, incluindo a maiúscula do identificador, e confirme que o utilizador tem permissão para aceder ao objeto.
429 A base de dados Oracle atingiu um limite de recursos ou sessões. Consulte os limites das sessões da Oracle e as definições de concorrência do fluxo de trabalho.
502 O runtime não conseguia alcançar o endpoint da Oracle. Verifique a conectividade do host e da porta, a resolução de DNS, as regras do firewall e a disponibilidade do listener do Oracle.
504 A operação excedeu o tempo limite. Reveja a complexidade da consulta e os índices, e verifique as definições de limite de tempo da consulta e do anfitrião do fluxo de trabalho.

Conector gerenciado

Erro: Não é possível acessar o gateway

Causa: o gateway de dados local não pode se conectar à nuvem.

Mitigação: Certifique-se de que o gateway está a ser executado no computador local onde instalou o gateway e tem conectividade com a internet. Evite instalar o gateway num computador que possa estar desligado ou entrar em modo de suspensão. Você também pode tentar reiniciar o serviço de gateway de dados local (PBIEgwService).

Erro: O provedor que está sendo usado foi preterido: 'System.Data.OracleClient requer software cliente Oracle versão 8.1.7 ou superior.' Para instalar o fornecedor oficial, consulte https://go.microsoft.com/fwlink/p/?LinkID=272376.

Causa: O SDK do cliente Oracle não está instalado no computador em que o gateway de dados local está sendo executado.

Resolução: baixe e instale o SDK do cliente Oracle no mesmo computador que o gateway de dados local.

Erro: A tabela '[Tablename]' não define nenhuma coluna de chave

Causa: a tabela não tem uma chave primária.

Resolução: o conector do Oracle Database requer que você use uma tabela com uma coluna de chave primária.