Séquence d'appel API-instruction SET SESSION AUTHORIZATION

Ce scénario décrit la séquence d'appel d'API lorsque l'instruction SET SESSION AUTHORIZATION est utilisée. Deux séquences d'appel d'API sont illustrées. La première montre comment implémenter la séquence pour une bibliothèque d'exit de communication d'exécution. L'autre montre comment implémenter la séquence pour une bibliothèque d'exit de mémoire tampon de communication.

bibliothèque d'exit du tampon de communication (communication buffer exit library)

L'instruction SET SESSION AUTHORIZATION modifie l'ID d'autorisation de session utilisé pour la connexion en cours. Db2commexitUserIdentity est appelé pour informer la bibliothèque d'exit de mémoire tampon de communication que les informations d'identité ont été modifiées pour la connexion en cours. Les appels suivants sont effectués:
  1. db2commexitRegister pour une nouvelle connexion socket.
  2. db2commexitRecv et db2commexitSend pour gérer l'authentification, éventuellement plusieurs fois.
  3. db2commexitUserIdentity pour une nouvelle connexion.
  4. db2commexitRecv et db2commexitSend pour gérer les demandes SQL des clients, éventuellement plusieurs fois.

    L'utilisateur émet une instruction SET SESSION AUTHORIZATION. Cette demande est transmise à db2commexitRecv. Il n'est pas différent d'une autre instruction SQL.

  5. db2commexitUserIdentity pour une autorisation SET SESSION.
  6. db2commexitRecv et db2commexitSend pour gérer les requêtes SQL client, éventuellement plusieurs fois.
  7. db2commexitDeregister pour mettre fin à la connexion socket.

bibliothèque d'exit de communication en phase d'exécution (runtime communication exit library)

L'instruction SET SESSION AUTHORIZATION modifie l'ID d'autorisation de session utilisé pour la connexion en cours. Db2commexitSetSessionAuth est appelé pour informer la bibliothèque d'exit de mémoire tampon de communication que les informations d'identité ont été modifiées pour la connexion en cours. Les appels suivants sont effectués:
  1. db2commexitSessionInit pour une nouvelle connexion.
  2. db2commexitSQL* pour gérer les nouvelles demandes SQL.

    L'utilisateur émet une instruction SET SESSION AUTHORIZATION. Cette demande n'est pas différente d'une autre instruction SQL

  3. db2commexitSetSessionAuth pour une autorisation SET SESSION.
  4. db2commexitSQL* pour gérer les nouvelles demandes SQL.
  5. db2commexitSessionTerm pour fermer la connexion.