Spécificités du Connecteur Natif DB2
Options de l'analyse
- Les options de l'analyse concernant les index full-text ne sont pas gérées par le Connecteur Natif.
- Les options de l'analyse concernant l'indexation partielle des mémos texte ne sont pas gérées par le Connecteur Natif.
Types utilisateur
Le Connecteur Natif DB2 ne gère pas les types utilisateur définis dans DB2.
Requêtes de type INSERT et Identifiant automatique
Les requêtes de type INSERT (créées par programmation ou grâce à l'éditeur de requêtes) ne gèrent pas les identifiants automatiques. Pour utiliser un identifiant automatique, utilisez la fonction
HAjoute sur la table.
Enregistrements identiques
Le Connecteur Natif DB2 n'est pas capable de différencier deux enregistrements identiques (c'est-à-dire des enregistrements dont les valeurs de toutes les rubriques sont égales, sans tenir compte des rubriques de type mémo).
En cas de modification ou de suppression d'enregistrement, tous les enregistrements identiques seront modifiés ou supprimés.
Contextes indépendants
Le Connecteur Natif DB2 ne gère pas les contextes indépendants. Toutes les opérations sont réalisées dans le même contexte HFSQL, même si un contexte indépendant a été demandé pour une fenêtre, une page ou un état.
Blocages SQL
Dans un parcours réalisé avec les fonctions
SQLAvance et
SQLLitCol, l'enregistrement en cours de lecture est bloqué en écriture.
Lors de l'utilisation de la fonction
SQLBloque, le Connecteur Natif parcourt les données sur un niveau d'isolement "repeatable read" (Voir documentation de DB2 pour plus d'informations).
Plusieurs utilisateurs peuvent donc bloquer simultanément un enregistrement en écriture (la fonction
SQLBloque renvoie
Vrai chez les deux utilisateurs). Cependant seul l'utilisateur ayant bloqué l'enregistrement en premier pourra le modifier ou le supprimer. Les autres utilisateurs pourront accéder à cet enregistrement en lecture seulement.
Blocage HFSQL
Il n'est PAS possible d'utiliser les blocages avec les fonctions HFSQL dans cette version.
Erreur de doublons sur la rubrique Identifiant Automatique
La colonne "Identifiant automatique" d'une table créée avec la fonction
HCréation est du type :
BIGINT NOT NULL GENERATED BY DEFAULT
AS IDENTITY (START WITH 1, INCREMENT BY 1), PRIMARY KEY
C'est donc DB2 qui génère automatiquement la valeur de l'identifiant automatique à chaque ajout.
Le serveur utilise pour cela un compteur qu'il incrémente à chaque ajout.
Cependant, si vous forcez la valeur de l'identifiant automatique dans une requête de type INSERT, DB2 ne met pas à jour son compteur.
Lors d'un ajout ultérieur, il pourra donc y avoir une erreur de doublon si DB2 génère automatiquement une valeur d'identifiant automatique déjà existante.
Pour éviter ce problème, exécutez la requête suivante pour réinitialiser la valeur du compteur à une valeur supérieure à l'identifiant fixé :
ALTER TABLE <Nom de la table> ALTER COLUMN <Nom ID Auto>
RESTART WITH <Valeur max ID Auto dans fichier +1>
Note : Le Connecteur Natif DB2 effectue automatiquement cette opération après l'appel de la fonction HAjoute(hFixeIDAuto).