|
|
|
|
|
- Présentation
- Remarques générales
- Versions nécessaires
- Utilisation d'ordres WLangage dans les requêtes SQL
- Gestion de fichiers de taille importante
- Support de Unicode avec les fonctions HFSQL
- Gestions des alphabets avec les fonctions SQL
- Certificats SSL
- Spécificités générales
- Blocage des enregistrements
- Enregistrements identiques
- Rubriques de type Tableau
- Indexation partielle des mémos et indexation full-text
- Requêtes imbriquées
- Spécificités pour les fonctions HFSQL et SQL
- Gestion des identifiants automatiques
- Ordres SQL non gérés
Connecteur Natif PostgreSQL : Spécificités et remarques
Disponible uniquement avec ce type de connexion
Les paragraphes suivants présentent les remarques générales et les spécificités du Connecteur Natif PostgreSQL. Versions nécessaires Attention : Cette version du Connecteur Natif PostgreSQL ne fonctionne qu'avec : - WINDEV ou WEBDEV SaaS.
- PostgreSQL à partir de la version 7.4 (les tests ont été réalisés avec la version 8.3.6 et la version 9.1.3).
Utilisation d'ordres WLangage dans les requêtes SQL Dans les requêtes SQL, il n'est pas possible d'utiliser des ordres WLangage. Gestion de fichiers de taille importante Lors de la manipulation de fichiers de taille importante, tous les enregistrements sont chargés en mémoire. Pour réduire l'occupation mémoire, il est conseillé de : - utiliser un filtre (fonction HFiltre) avant d'initialiser un parcours (fonction HLitPremier / HLitDernier, ...).
- utiliser des requêtes dont les conditions de sélection soient suffisamment discriminantes.
- éviter les recherches.
Support de Unicode avec les fonctions HFSQL Pour utiliser des chaînes Unicode, il est nécessaire de spécifier le charset "UTF8" lors de la création de la base de données PostgreSQL. Dans ce cas, toutes les chaînes seront des chaînes Unicode. Lorsque Unicode est supporté sur la connexion (mode par défaut), le type des rubriques texte des requêtes exécutées avec la constante hRequêteSansCorrection est Unicode. Si une chaîne Unicode est affectée dans une chaîne ANSI, WINDEV et WEBDEV font automatiquement la conversion en utilisant l'alphabet défini avec la fonction ChangeAlphabet. Attention : La fonction ChangeAlphabet doit être utilisée AVANT d'ouvrir la connexion. Il est nécessaire de fermer et de ré-ouvrir la connexion après chaque appel de la fonction ChangeAlphabet pour que les données soient correctement converties dans l'alphabet spécifié. Si la connexion est ANSI (option "WD Unicode Support = 0" dans les informations étendues spécifiées avec les fonctions HDécritConnexion ou HOuvreConnexion), le type des rubriques texte des requêtes exécutées avec la constante hRequêteSansCorrection est ANSI. Gestions des alphabets avec les fonctions SQL Tous les échanges sont réalisés dans l'alphabet (charset) courant. Une erreur survient lors de la connexion si le serveur ne gère pas les conversions depuis ou vers l'alphabet courant. Dans ce cas, il faut utiliser la fonction ChangeAlphabet avant la fonction SQLConnecte pour sélectionner un alphabet compatible avec le serveur. Certificats SSL Le Connecteur Natif PostgreSQL gère les connexions utilisant des certificats SSL. Pour gérer les connexions utilisant des certificats SSL : - Sur le poste serveur : Utiliser un serveur PostgreSQL gérant les connexions SSL. Consultez la documentation PostgreSQL pour savoir comment générer les fichiers de certificat SSL et configurer le serveur pour n'autoriser que les connexions SSL.
- Sur le poste client : Utiliser une couche client PostgreSQL compilée avec la gestion des connexions SSL.
- Par défaut, la couche client PostgreSQL va chercher les fichiers de certificat SSL dans le répertoire : %APPDATA%\postgresql. Par exemple : "C:\Users\Florence\appData\roaming\postgresql". Il est possible de renommer et de placer ces fichiers dans des répertoires différents en indiquant leurs emplacements dans la chaîne de connexion grâce aux mots-clés : SSL Cret, SSL Key, SSL CA.
- Utiliser les mot-clés correspondant aux options SSL dans les informations de connexion. Les mots-clés reconnus sont :
- SSL Key
- SSL Cert
- SSL CA
- SSL CRL
- SSL Mode
Ces paramètres correspondent aux paramètres de même nom de la fonction PQconnectdb. Remarque : Par défaut, le Connecteur Natif essaie d'ouvrir une connexion SSL, puis en cas d'échec une connexion non SSL. Pour contrôler le mode d'ouverture de la connexion, il faut ajouter le mot-clé "SSL Mode" dans les informations étendues de la connexion, suivi du mode souhaité. Exemple d'informations étendues pour utiliser les certificats par défaut : Les fichiers postgresql.crt, postgresql.key, Root.crt sont présents dans le répertoire %APPDATA%\postgresql :
Server Port=5432;SSL Mode = verify-full Exemple d'informations étendues pour utiliser des certificats renommés :
Server Port=5432; SSL CA = C:\Certificats SSL\CA.crt ; SSL Cert = C:\Certificats SSL\my.crt ; SSL Key = C:\Certificats SSL\my.key ; SSL Mode = verify-full Remarque : l'information étendue "Server Port" permet de modifier le numéro de port utilisé pour la connexion. Spécificités générales Blocage des enregistrements Les options de blocage ( hBlocageEcriture et hBlocageLectureEcriture) utilisables avec les fonctions HFSQL ne sont pas gérées. En effet, les blocages sont liés aux transactions. Il ne peut pas y avoir de blocage sans une transaction en cours et seule la fin de la transaction permet de retirer le blocage. Enregistrements identiques Le Connecteur Natif PostgreSQL n'est pas capable de différencier deux enregistrements identiques (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. Rubriques de type Tableau Les rubriques de type Tableau ne sont pas gérées par le Connecteur Natif. Si vous utilisez une rubrique tableau, seule la valeur de l'indice 1 du tableau sera manipulable avec les fonctions HFSQL (en écriture et en lecture). Indexation partielle des mémos et indexation full-text L'indexation partielle des mémos ainsi que l'indexation full-text ne sont pas prises en compte : - lors de l'importation des tables PostgreSQL dans l'analyse.
- lors de l'utilisation de la fonction HCréation.
Si ces fonctionnalités sont définies dans l'analyse, elles seront prises en compte uniquement lors de l'exécution de requêtes SQL (avec la constante hRequêteSansCorrection). Requêtes imbriquées La correction des requêtes imbriquées n'est pas gérée dans cette version de le Connecteur Natif PostgreSQL. Il est cependant possible d'utiliser la constante hRequêteSansCorrection. Spécificités pour les fonctions HFSQL et SQL Les spécificités pour l'utilisation des fonctions HFSQL et SQL avec le Connecteur Natif PostgreSQL sont les suivantes : | | Spécificités | Fonctions concernées |
---|
Requête multi-fichier : Les fonctions HAjoute, HModifie et HSupprime ne sont pas supportées. | HAjoute HModifie HSupprime |
Gestion des identifiants automatiques La gestion des constantes hForceIDAuto et hFixeIDAuto est identique à la gestion réalisée par le moteur HFSQL. Pour ré-initialiser la valeur de départ de la séquence d'un identifiant automatique après l'utilisation de la fonction HAjoute avec la constante hForceIDAuto, exécutez la requête suivante avec la constante hRequêteSansCorrection : ALTER SEQUENCE "<NomDufichier>_<NomRubrique>_seq" RESTART WITH [ Identifiant du début ] Exemple : Pour que le prochain Identifiant automatique généré par PostgreSQL commence à 5, la requête à utiliser est : ALTER SEQUENCE "MonFichier_IdAuto_seq" RESTART WITH 5 Ordres SQL non gérés Les ordres SQL suivants ne sont pas gérés sur une source de données PostgreSQL : - TOP
- CHARACTER_LENGTH
- BIN
- OCT
- HEX
- LOG10
- PATINDEX
- LEFT(Chaîne, taille)
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|