DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Connecteurs Natifs/Accès Natifs / Connecteur Natif DB2
  • Présentation
  • Remarques générales
  • Versions nécessaires
  • Rubriques Unicode
  • Timeout de blocage
  • Valeurs par défaut des rubriques
  • Spécificités du Connecteur Natif DB2
  • Options de l'analyse
  • Types utilisateur
  • Requêtes de type INSERT et Identifiant automatique
  • Enregistrements identiques
  • Contextes indépendants
  • Blocages SQL
  • Blocage HFSQL
  • Erreur de doublons sur la rubrique Identifiant Automatique
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Connecteur Natif DB2 : Spécificités et remarques
Connecteurs Natifs (Accès Natifs)Disponible uniquement avec ce type de connexion
Présentation
Les paragraphes suivants présentent les remarques générales et les spécificités du Connecteur Natif DB2.
Remarques générales

Versions nécessaires

Attention : Cette version du Connecteur Natif DB2 ne fonctionne qu'avec WINDEV ou WEBDEV 2024.

Rubriques Unicode

Les rubriques Unicode ne sont pas gérées par le Connecteur Natif DB2. Il est conseillé d'utiliser des rubriques texte au format Ansi et de réaliser si nécessaire la conversion avec la fonction UnicodeVersAnsi.
La fonction HCréation affichera un message d'erreur lors de la création de fichiers contenant des rubriques au format Unicode.

Timeout de blocage

Les timeout de blocage sur une base de données DB2 n'ont pas de limite par défaut. L'application peut se bloquer si les deux conditions suivantes sont réunies en même temps :
  • blocage d'enregistrement avec la fonction SQLBloque,
  • cet enregistrement est déjà bloqué.
Il est fortement conseillé de définir un timeout de blocage pour chaque base de données DB2 utilisée avec le Connecteur Natif DB2. Le timeout de blocage est généralement fixé à 30 secondes.
Reportez-vous à la documentation spécifique de DB2 pour obtenir plus d'informations sur le paramétrage des timeout de blocage.

Valeurs par défaut des rubriques

Les valeurs par défaut des rubriques sont gérées par le Connecteur Natif DB2. Ces valeurs par défaut peuvent être :
  • une valeur,
  • une formule SQL. Dans ce cas, l'expression SQL doit être reconnue par le moteur HFSQL et par la base DB2. La seule expression utilisable est CURRENT_TIMESTAMP.
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).
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 07/07/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale