Loading

Lors de l'importation d'un site Tableau Cloud vers Tableau Server sur site, "l'insertion ou la mise à jour de la table "users" enfreint la contrainte de clé étrangère"

Date de publication: Jul 20, 2023
Description
Lors de l'importation d'un site Tableau Cloud vers Tableau Server sur site, « l'insertion ou la mise à jour de la table "users" enfreint la contrainte de clé étrangère »

Des messages du type suivant seront consignés dans tabadmin.log

2018-04-09 10:08:02.168 -0700_FATAL_<IP_Address>:<HOST_NAME>_:_pid=5332_0x1b7a52dd__user=__request=__ org.springframework.orm.jpa.JpaSystemException: org.hibernate.TransactionException: commit failed; nested exception is javax.persistence.PersistenceException: org.hibernate.TransactionException: commit failed
2018-04-09 10:08:02.168 -0700_DEBUG_<IP_Address>:<HOST_NAME>_:_pid=5332_0x1b7a52dd__user=__request=__ NativeException: org.springframework.orm.jpa.JpaSystemException: org.hibernate.TransactionException: commit failed; nested exception is javax.persistence.PersistenceException: org.hibernate.TransactionException: commit failed
 

Un message du type suivant sera consigné dans le fichier tabsvc - tabadmin -java.log

Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "users" violates foreign key constraint "users_system_user_id_fkey"
Detail: Key (system_user_id)=(-39840) is not present in table "system_users".

Cause

Les utilisateurs existent sur le site source de Tableau Cloud, qui n'existe pas dans Active Directory sur le site cible, ce qui entraîne une erreur « insert or update on table "users" violates foreign key constraint » (L'insertion ou la mise à jour sur la table "users" enfreint la contrainte de clé étrangère)
Résolution
Activez l'accès au référentiel Tableau Server sur l'instance cible et connectez-vous au référentiel Tableau Server (PostgreSQL) à l'aide de Tableau Desktop. Pour plus d'informations, consultez Collecter des données avec le référentiel Tableau Server.
      
Une fois connecté au référentiel Tableau Server, suivez ces étapes :
  1. Faites glisser la table "system_users" vers le volet Données.
  2. Cliquez sur le bouton Ajouter pour ajouter une source de données supplémentaires.
  3. Ajoutez une connexion au fichier Mappage d'utilisateurs depuis le site source Tableau Cloud.
  4. Créez une jointure gauche entre Nom de la cible dans le fichier de mappage et Nom (dans Postgres)
  5. Cliquez sur Sheet 1 et faites glisser Nom et Nom de la cible dans Lignes
  6. Recherchez les valeurs « Null » dans la colonne de gauche (Nom)
  7. Ces utilisateurs n'existent pas dans Active Directory

1. Si possible, mappez les utilisateurs Tableau Cloud existants aux comptes Active Directory existants ou créez des comptes Active Directory temporaires à des fins de mappage.
  • Après l'importation, le contenu peut être réaffecté et les comptes supprimés.
2. Supprimez les utilisateurs supplémentaires du site Tableau Cloud et demandez une exportation supplémentaire du site.
Ressources supplémentaires
Si le mappage à des utilisateurs existants est possible, l'opération prendra très probablement moins de temps que de demander une autre importation de site au service Solutions client.


Numéro d’article de la base de connaissances

001471452

 
Chargement
Salesforce Help | Article