Se connecter aux bases de données Oracle à partir de flux de travail dans Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation + Standard)

Lorsque vos flux de travail doivent utiliser des données Oracle, connectez-vous à votre base de données Oracle à l’aide du connecteur Oracle Database dans Azure Logic Apps. Vous pouvez accéder aux bases de données hébergées localement ou sur une machine virtuelle Azure.

Le connecteur Oracle Database vous aide à résoudre les tâches courantes d’intégration des données, telles que :

  • Ajoutez des enregistrements client à votre base de données.
  • Mettez à jour les enregistrements de commande dans votre base de données.
  • Obtenez, insérez ou supprimez des lignes de table dans le cadre de votre flux de travail.

Pour les flux de travail standards, le connecteur intégré Oracle Database est disponible en aperçu public. Le connecteur s’exécute dans le même processus que le runtime d’Azure Logic Apps, ce qui peut fournir une latence plus faible et un débit plus élevé que le connecteur géré. Lorsque l’exécution a accès réseau au point d’accès Oracle, le connecteur intégré ne nécessite pas de passerelle de données sur site. Les flux de travail hébergés sur Azure peuvent utiliser l’intégration réseau virtuel pour atteindre les points de terminaison Oracle privés, tandis que les flux de travail utilisant le modèle de déploiement hybride peuvent accéder aux bases de données Oracle depuis une infrastructure gérée par le client.

Versions d’Oracle Database prises en charge

Le tableau suivant répertorie les versions de base de données Oracle prises en charge par chaque connecteur :

Connector Application logique Versions d’Oracle DB prises en charge
Géré -Consommation
-Standard
- Oracle 9 et versions ultérieures
- Client d’accès aux données Oracle (ODAC) 11.2 et versions ultérieures
Intégré (préversion) Norme Oracle Database 11 et versions ultérieures

Référence technique du connecteur

Le connecteur Oracle Database a différentes versions, en fonction du type de flux de travail d’application logique et de l’environnement hôte.

Application logique ID environnement Version du connecteur
Consommation Azure Logic Apps multilocataire Connecteur managé, qui apparaît dans la galerie de connecteurs sous le filtre partagé .

Pour plus d’informations, consultez la référence du connecteur géré Oracle Database.
Standard Azure Logic Apps à locataire unique, App Service Environment v3 (plans Windows uniquement) et hybride Connecteur managé, qui apparaît dans la galerie de connecteurs sous le filtre partagé et connecteur intégré (préversion publique), qui apparaît dans la galerie de connecteurs sous le filtre intégré .

La version intégrée s'exécute en cours avec le runtime Azure Logic Apps et ne nécessite pas la passerelle de données locale, car le runtime peut atteindre votre point de terminaison Oracle sur le réseau.

Pour plus d’informations, consultez :

- Référence du connecteur géré Oracle Database
- Informations de référence sur le connecteur intégré

Opérations de connecteur intégrées (aperçu)

Le connecteur intégré prend actuellement en charge les actions suivantes :

Nom Paramètres Description Retours
Exécuter une requête (executeQuery) - Requête (query) : obligatoire pour le type string. Requête SQL à exécuter.

- Paramètres de requête (queryParameters) : facultatif avec object type. Paramètres de requête à inclure.
Exécute une requête SQL. Résultat de la requête SQL en tant que array.
Exécuter une procédure stockée (executeStoredProcedure) - Nom de la procédure stockée (storedProcedure) : obligatoire avec le type string. Nom de la procédure stockée à exécuter.

- Paramètres de procédure stockée (storedProcedureParameters) : facultatif avec object type. Paramètres de procédure stockée à inclure.
Exécute une procédure stockée et retourne les jeux de résultats et les paramètres de sortie. - Ensembles de résultats (resultSets) avec string le type. La liste des ensembles de résultats retournés par la procédure stockée.

- Paramètres de sortie (outputParmaters) de type string. Les valeurs des paramètres de sortie sont retournées par la procédure stockée.
Obtenir des lignes (getRows) - Nom de la table (tableName) : requis avec le string type. Nom de la table source.

- Où condition (columnValuesForWhereCondition) : Optionnelle selon object le type. La paire clé-valeur de colonnes qui identifie les lignes à obtenir.

- Décalage pour les rangées d’obtention (skipCount) : optionnel selon string le type. Nombre d’entrées à ignorer. La valeur par défaut est 0.

- Nombre maximal de lignes (maxcount) : facultatif avec string type. Nombre maximal de lignes à récupérer. La valeur par défaut est 0.

- Colonne de classement (orderBy) : facultatif avec string type. Nom de colonne à utiliser pour classer le résultat de la requête.

- Sélectionner des colonnes (filterBy) : facultatif pour le type string. La valeur de la colonne à obtenir depuis la table ou la vue.
Obtient une ou plusieurs lignes selon la condition spécifiée. Les rangées récupérées comme un array.
Obtenir des tables (getTables) Retourne uniquement les tables appartenant à l’utilisateur actuel (ownedTables) : facultatif avec string type. Retourne uniquement les tables où le propriétaire est l’utilisateur fourni. Il obtient une liste de tableaux. La liste des tables sous forme de array.
Insérer une ligne (insertRow) - Nom de la table (tableName) : requis avec le string type. Nom de la table.

- Définir des colonnes (setColumns) : facultatif avec object type. Valeurs des champs de ligne.
Insère une ligne. La rangée insérée avec object le type.

Prérequis

Prérequis pour les connecteurs gérés (Consommation et Standard)

Prérequis du connecteur intégré (Standard, préversion)

  • Assurez-vous que votre flux de travail d’application logique standard peut atteindre votre point de terminaison Oracle, y compris n’importe quel hôte, port, résolution DNS et règles de pare-feu.

  • Lorsque vous créez la connexion de base de données Oracle, vous avez besoin des valeurs suivantes :

    • Adresse du serveur de base de données Oracle
    • Nom d’utilisateur
    • Mot de passe

    Pour l’adresse serveur, spécifiez cette valeur dans l’un des formats suivants :

    Format Syntaxe Example
    Easy Connect (non SSL) < host> :<port>/<database-service-name> localhost:1522/XE
    Descripteur TNS (Transparent Network Substrate) (SSL) : descripteur de source de données Oracle complet (description=(retry_count=<retries>)(retry_delay=<durée-d'attente>)(address=(protocol=tcps)(port=<port-numéro>)(host=<hôte>))(connect_data=(service_name=<nom-du-service>))(security=(ssl_server_dn_match=oui))) (description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=localhost))(connect_data=(service_name=XE))(security=(ssl_server_dn_match=yes)))
  • Pour l’action Get rows utilisée dans cet exemple, il faut connaître le nom de la table pour y accéder.

    Si vous ne connaissez pas ces informations, contactez votre administrateur Oracle Database ou obtenez la sortie de l’instruction suivante : select * from <table-name>.

Problèmes connus et limitations

Les versions actuelles du connecteur ne prennent pas en charge les déclencheurs. Utilisez n’importe quel déclencheur qui correspond à votre scénario pour démarrer votre flux de travail, puis ajoutez des actions Oracle.

Connector Limitations
Géré - Tables avec des clés composites
- Tables avec des types d’objets imbriqués
- Fonctions de base de données avec des valeurs noncalaires
Intégré - Aucune action de mise à jour ou de suppression dédiée. Pour les scénarios de mise à jour et de suppression, utilisez les actions Exécuter une requête ou Exécuter une procédure stockée .
- Certains problèmes de connexion peuvent apparaître uniquement au moment de l’exécution du flux de travail, plutôt qu’au moment de la création de la connexion.
- Le délai d’attente par défaut de la requête est de 30 secondes. Les opérations plus longues restent soumises aux paramètres d’expiration de l’action du workflow et de la fonction hôte.
- Les identifiants d’Oracle peuvent être sensibles à la casse. Assurez-vous que les noms de tables, de vues et de colonnes correspondent aux identifiants définis dans votre schéma.

Ajouter une action

Les étapes à suivre pour ajouter et utiliser une action Oracle diffèrent selon que vous utilisez le connecteur intégré ou le connecteur managé.

Ajouter une action de connecteur intégrée (Standard, préversion)

  1. Dans le portail Azure, ouvrez votre ressource d’application logique Standard.

  2. Dans le concepteur, ouvrez votre flux de travail.

  3. Suivez les étapes génériques pour ajouter l’action Oracle Database que vous souhaitez à votre flux de travail.

    Cet exemple continue avec l’action Obtenir des lignes .

  4. Dans le panneau d’informations de connexion, saisissez les informations requises, telles que le nom de connexion souhaité, l’adresse du serveur de base de données Oracle, le nom d’utilisateur et le mot de passe, par exemple :

    La capture d’écran montre le portail Azure, le concepteur de workflow standard, et le panneau de connexion Oracle Database pour l’action Get rows.

  5. Quand vous avez terminé, sélectionnez Créer nouveau.

  6. Dans le volet d’informations d’action, entrez les valeurs de paramètre requises pour votre action sélectionnée.

    Par exemple, si vous sélectionnez l’action Obtenir des lignes , entrez le nom de la table :

    Screenshot affiche le portail Azure, le concepteur de flux de travail Standard et l’action Obtenir des lignes avec un exemple de nom de table.

  7. Ajoutez toutes les autres actions nécessaires pour terminer votre flux de travail.

  8. Enregistrez le flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

Ajouter une action de connecteur géré (Consommation et Standard)

  1. Dans le portail Azure, ouvrez votre ressource Consommation ou application logique Standard.

  2. Dans le concepteur, ouvrez votre flux de travail.

  3. Suivez les étapes génériques pour ajouter l’action Oracle Database que vous souhaitez à votre flux de travail.

    Cet exemple continue avec l'action Récupérer une ligne.

  4. Dans le volet Informations de connexion, entrez les informations de connexion requises.

  5. Pour la propriété Gateway, sélectionnez l’abonnement Azure et la ressource de passerelle Azure à utiliser.

  6. Une fois la connexion terminée, dans la liste des noms de table, sélectionnez une table.

  7. Pour la propriété Row Id, entrez l’ID de ligne que vous voulez dans votre table.

    Dans l’exemple suivant, les données de travail sont renvoyées à partir d’une base de données de ressources humaines :

    Screenshot affiche le portail Azure, le concepteur de flux de travail et l’action Obtenir une ligne avec le nom de la table et l’ID de ligne.

  8. Ajoutez toutes les autres actions nécessaires pour terminer votre flux de travail.

  9. Enregistrez le flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

Résoudre les problèmes de connexion à la base de données Oracle

Connecteur intégré

Lorsqu’une action intégrée du connecteur échoue, examinez l’historique des exécutions de workflow et les journaux de diagnostic. Le tableau suivant décrit les codes d’état courants et les étapes de dépannage :

Code de statut Cause et résolution
401 Échec de l’authentification. Vérifiez le nom d’utilisateur et le mot de passe, le statut de verrouillage du compte et les politiques d’expiration du mot de passe.
404 L’objet de base de données demandé n’a pas été trouvé. Vérifiez le nom du schéma, de la table ou de la vue, y compris la casse d’identificateur, et confirmez que l’utilisateur a la permission d’accéder à l’objet.
429 La base de données Oracle atteignait une limite de ressources ou de sessions. Consultez les limites de session Oracle et les paramètres de concurrence des flux de travail.
502 L’environnement d’exécution n’a pas pu joindre le point de terminaison Oracle. Vérifiez la connectivité hôte et port, la résolution DNS, les règles du pare-feu et la disponibilité de l’auditeur Oracle.
504 L’opération a expiré. Examinez la complexité des requêtes et les index, puis vérifiez les paramètres de délai d’attente de requête et de workflow de l’hôte.

Connecteur managé

Erreur : La passerelle est injoignable

Cause : la passerelle de données locale ne peut pas se connecter au cloud.

Atténuation : Assurez-vous que votre passerelle fonctionne sur l’ordinateur local où vous avez installé la passerelle et dispose d’une connexion internet. Évitez d'installer la passerelle sur un ordinateur qui pourrait être éteint ou mis en veille. Vous pouvez également essayer de redémarrer le service de passerelle de données locale (PBIEgwService).

Erreur : le fournisseur utilisé est déprécié : « System.Data.OracleClient nécessite le logiciel client Oracle version 8.1.7 ou supérieure ». Pour installer le fournisseur officiel, consultez https://go.microsoft.com/fwlink/p/?LinkID=272376.

Cause : le SDK du client Oracle n’est pas installé sur l’ordinateur qui exécute la passerelle de données locale.

Résolution : téléchargez et installez le kit de développement logiciel du client Oracle sur le même ordinateur que la passerelle de données locale.

Erreur : La table « [Tablename] » ne définit aucune colonne clé

Cause : la table n’a pas de clé primaire.

Résolution : le connecteur Oracle Database nécessite une table avec une colonne de clé primaire.