Référence de mise en place d’intégration externe¶
Les objets de base de données suivants sont créés par le biais du fichier setup_external_integration.sql.
PUBLIC.SETUP_EXTERNAL_INTEGRATION_WITH_NAMES()¶
La procédure modifie d’autres procédures ou fonctions, dont les signatures sont transmises en tant qu’argument de la procédure dans un tableau, avec une EXTERNAL ACCESS INTEGRATION et des noms d’objets SECRET qui sont stockés dans la configuration de la connexion sous les clés suivantes :
external_access_configurationpour un identificateur d’objetEXTERNAL ACCESS INTEGRATION.
secretpour un identificateur d’objetSECRET.
Le secret est attaché à la procédure/fonction modifiée avec la clé credentials. Par défaut, la procédure n’est disponible pour aucun des rôles utilisateurs de l’application.
Signature de la procédure¶
Où :
methods ARRAYreprésente un tableau de signatures de procédures/fonctions sous forme de variables, par exempleARRAY_CONSTRUCT('PUBLIC.PROC_1(VARIANT)', 'PUBLIC.PROC_2()').
Valeurs de retour¶
La procédure renvoie toujours une variante avec une structure de réponse de connecteur standard.
En cas d’exécution réussie de la procédure :
Note
L’exécution de la procédure se termine avec succès même si les signatures de procédures/fonctions transmises en tant qu’arguments ne représentent pas des objets existants ou si une application n’a pas accès à ces objets. Le processus de modification de ce type de procédure/fonction est ignoré et la procédure générale se poursuit.
En cas de défaillance :
Attention
La procédure ne génère pas d’erreur si une erreur survient au cours de l’exécution. Chaque erreur est intégrée dans la réponse du connecteur et mappée sur le site
response_code, ce qui permet de valider le résultat de la procédure et de l’utiliser en toute sécurité sur le sitesetup.sqlpendant l’installation de l’application (sinon, toute erreur non gérée pourrait interrompre et mettre fin au processus d’installation de l’application).
Erreurs possibles¶
EAI_UNAVAILABLE- un objetEXTERNAL ACCESS INTEGRATIONn’existe pas ou une application ne dispose pas d’un privilègeUSAGEsur cet objet.SECRET_UNAVAILABLE- un objetSECRETn’existe pas ou une application n’a pas au moins un privilègeREADsur cet objet.INTERNAL ERROR- ce code de réponse est renvoyé en cas d’erreurs inattendues.
Exemple d’utilisation¶
PUBLIC.SETUP_EXTERNAL_INTEGRATION_WITH_REFERENCES()¶
La procédure modifie d’autres procédures ou fonctions, dont les signatures sont transmises en tant qu’argument de procédure dans un tableau, avec un objet EXTERNAL ACCESS INTEGRATION et un objet SECRET qui sont affectés aux références de l’application. Lorsque vous utilisez cette procédure, il est exigé que les références soient enregistrées sous les noms suivants :
EAI_REFERENCE- pour obtenir une référence à un objetEXTERNAL ACCESS INTEGRATION.SECRET_REFERENCE- pour obtenir une référence à un objetSECRET.
Le secret est attaché à la procédure/fonction modifiée avec la clé credentials. Par défaut, la procédure n’est disponible pour aucun des rôles utilisateurs de l’application.
Signature de la procédure¶
Où :
methods ARRAYreprésente un tableau de signatures de procédures/fonctions sous forme de variables, par exempleARRAY_CONSTRUCT('PUBLIC.PROC_1(VARIANT)', 'PUBLIC.PROC_2()').
Valeurs de retour¶
La procédure renvoie toujours une variante avec une structure de réponse de connecteur standard.
En cas d’exécution réussie de la procédure :
Note
L’exécution de la procédure se termine avec succès même si les signatures de procédures/fonctions transmises en tant qu’arguments ne représentent pas des objets existants ou si une application n’a pas accès à ces objets. Le processus de modification de ce type de procédure/fonction est ignoré et la procédure générale se poursuit.
En cas de défaillance :
Attention
La procédure ne génère pas d’erreur si une erreur survient au cours de l’exécution. Chaque erreur est intégrée dans la réponse du connecteur et mappée sur le site
response_code, ce qui permet de valider le résultat de la procédure et de l’utiliser en toute sécurité sur le sitesetup.sqlpendant l’installation de l’application (sinon, toute erreur non gérée pourrait interrompre et mettre fin au processus d’installation de l’application).
Erreurs possibles¶
EAI_UNAVAILABLE- un objetEXTERNAL ACCESS INTEGRATIONn’existe pas ou une application ne dispose pas d’un privilègeUSAGEsur cet objet.SECRET_UNAVAILABLE- un objetSECRETn’existe pas ou une application n’a pas au moins un privilègeREADsur cet objet.INTERNAL ERROR- ce code de réponse est renvoyé en cas d’erreurs inattendues.
Exemple d’utilisation¶
PUBLIC.SETUP_EXTERNAL_INTEGRATION()¶
Il s’agit d’une version brute des procédures décrites ci-dessus qui est également utilisée par eux. La procédure modifie d’autres procédures ou fonctions, dont les signatures sont transmises en tant qu’argument de procédure dans un tableau, avec un EXTERNAL ACCESS INTEGRATION et des noms d’objets SECRET qui sont également transmis en tant qu’arguments de procédure. Cette procédure laisse au fournisseur la liberté de décider comment fournir à la procédure des informations sur les objets liés à l’accès externe.
Le secret est attaché à la procédure/fonction modifiée avec la clé credentials. Par défaut, la procédure n’est disponible pour aucun des rôles utilisateurs de l’application.
L’utilisation de cette procédure n’est recommandée que lorsqu’il n’est pas possible d’utiliser les procédures décrites ci-dessus, qui utilisent des références avec des noms prédéfinis ou des noms d’objets stockés sous des clés prédéfinies dans la configuration de la connexion.
Signature de la procédure¶
Où :
eai_idf VARCHAR- représente l’identificateur d’un objetEXTERNAL_ACCESS_INTEGRATION. Si vous voulez y passer un nom de référence, vous devez l’envelopper comme suit :'reference(\'<reference_name>\')'secret_idf VARCHAR- représente l’identificateur d’un objetSECRET. Si vous voulez y passer un nom de référence, vous devez l’envelopper comme suit :'reference(\'<reference_name>\')'methods ARRAYreprésente un tableau de signatures de procédures/fonctions sous forme de variables, par exempleARRAY_CONSTRUCT('PUBLIC.PROC_1(VARIANT)', 'PUBLIC.PROC_2()').
Valeurs de retour¶
La procédure renvoie toujours une variante avec une structure de réponse de connecteur standard.
En cas d’exécution réussie de la procédure :
Note
L’exécution de la procédure se termine avec succès même si les signatures de procédures/fonctions transmises en tant qu’arguments ne représentent pas des objets existants ou si une application n’a pas accès à ces objets. Le processus de modification de ce type de procédure/fonction est ignoré et la procédure générale se poursuit.
En cas de défaillance :
Attention
La procédure ne génère pas d’erreur si une erreur survient au cours de l’exécution. Chaque erreur est intégrée dans la réponse du connecteur et mappée sur le site
response_code, ce qui permet de valider le résultat de la procédure et de l’utiliser en toute sécurité sur le sitesetup.sqlpendant l’installation de l’application (sinon, toute erreur non gérée pourrait interrompre et mettre fin au processus d’installation de l’application).
Erreurs possibles¶
EAI_UNAVAILABLE- un objetEXTERNAL ACCESS INTEGRATIONn’existe pas ou une application ne dispose pas d’un privilègeUSAGEsur cet objet.SECRET_UNAVAILABLE- un objetSECRETn’existe pas ou une application n’a pas au moins un privilègeREADsur cet objet.INTERNAL ERROR- ce code de réponse est renvoyé en cas d’erreurs inattendues.
Exemple d’utilisation¶
Lorsque vous souhaitez utiliser cette procédure dans le script setup.sql et que les noms des objets SECRET et EXTERNAL ACCESS INTEGRATION sont stockés d’une manière différente de celle recommandée par Native SDK for Connectors, vous devez récupérer ces valeurs d’une manière ou d’une autre. Dans ce cas, vous pouvez utiliser le mécanisme EXECUTE IMMEDIATE :