Commandes du thème Source de données externes

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 2004


Présentation

Ce thème contient les commandes permettant à 4e Dimension d'accéder à des données stockées dans d'autres applications via des protocoles standard. Dans la version actuelles de 4e Dimension, seules des commandes ODBC sont disponibles.

Le standard ODBC (Open DataBase Connectivity) définit une librairie de fonctions standarisées. Ces fonctions permettent à une application telle que 4e Dimension d'accéder via le langage SQL à tout système de gestion de données compatible ODBC (bases de données, tableurs, etc.).

Note : 4e Dimension permet également d'importer et d'exporter des données dans une source ODBC en mode Utilisation. Pour plus d'informations, reportez-vous au manuel Mode Utilisation de 4e Dimension.

Les commandes ODBC de haut niveau du thème "Source de données externes" de 4e Dimension permettent de mettre en place des solutions simples pour faire communiquer les applications 4e Dimension et des sources de données ODBC. Si vos applications nécessitent une prise en charge plus étendue du standard ODBC, vous devrez acquérir le plug-in ODBC "bas niveau" de 4D, 4D ODBC Pro.

Principes de fonctionnement des commandes ODBC intégrées

Les commandes ODBC intégrées de 4e Dimension appliquent les principes suivants :

La portée d'une connexion est le process. Si vous souhaitez gérer plusieurs connexions simultanément, vous devez démarrer un process par ODBC LOGIN.

La commande ODBC ANNULER CHARGEMENT permet d'exécuter plusieurs requêtes SELECT dans la même connexion.

Vous pouvez intercepter les erreurs ODBC éventuellement générées lors de l'exécution d'une des commandes ODBC à l'aide la commande APPELER SUR ERREUR. La commande ODBC LIRE DERNIERE ERREUR permet dans ce cas d'obtenir des informations supplémentaires.

Correspondance des types de données

Le tableau suivant liste les correspondances établies automatiquement par 4e Dimension entre les types de données 4D et SQL :

Type 4DType SQL
C_ALPHASQL_C_CHAR
C_TEXTESQL_C_CHAR
C_REELSQL_C_DOUBLE
C_DATESQL_C_TYPE_DATE
C_HEURESQL_C_TYPE_TIME
C_BOOLEENSQL_C_BIT
C_ENTIERSQL_C_SHORT
C_ENTIER LONGSQL_C_SLONG
C_BLOBSQL_C_BINARY
C_IMAGESQL_C_BINARY
C_GRAPHESQL_C_BINARY

Référencer des objets 4e Dimension dans les requêtes ODBC

4e Dimension propose deux modes d'insertion des objets 4D dans les requêtes ODBC : l'association directe et la définition de paramètres via ODBC FIXER PARAMETRE.

L'association directe nécessite simplement d'insérer le nom de l'objet 4D à utiliser (variable, tableau ou champ) entre les caractères << et >> dans le texte de la requête. Par exemple :

INSERT INTO emp (empno,ename) VALUES (<<vEmpno>>,<<vEname>>)

Dans cet exemple, les valeurs courantes des variables 4D vEmpno et vEname seront substituées aux paramètres lors de l'exécution de la requête. Cette solution fonctionne également avec les champs et les tableaux 4D.

Cette syntaxe, simple d'utilisation, présente toutefois l'inconvénient de n'être pas conforme à la norme SQL et de ne pas permettre l'utilisation de paramètres de sortie. Pour y remédier, vous pouvez utiliser la commande ODBC FIXER PARAMETRE. Cette commande permet de définir chaque objet 4D à intégrer dans une requête ainsi que son mode d'utilisation (entrée, sortie ou les deux). La syntaxe produite est alors standard. Pour plus d'informations, reportez-vous à la description de la commande ODBC FIXER PARAMETRE.

Exemples d'association directe d'objets 4D

(1) Cet exemple exécute une requête ODBC utilisant directement des tableaux 4D associés :

   TABLEAU TEXTE(MonTabTexte;10)
   TABLEAU ENTIER LONG(MonTabLong;10)

   Boucle (vCounter;1;Taille tableau(MonTabTexte))
      MonTabTexte{vCounter}:="Texte"+Chaine(vCounter)
      MonTabLong{vCounter}:=vCounter
   Fin de boucle
   ODBC LOGIN("mysql";"root";"")
   SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (<<MonTabTexte>>, <<MonTabLong>>)"
   ODBC EXECUTER(SQLStmt)

(2) Cet exemple permet d'exécuter une requête ODBC utilisant directement des champs 4D associés :

   TOUT SELECTIONNER([Table 2])
   ODBC LOGIN("mysql";"root";"")
   SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (<<[Table 2]Champ1>"+">,<<[Table 2]Champ2>>)"
   ODBC EXECUTER(SQLStmt)

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant