Appels de fonction ST_Geometry

Les fonctions ST_Geometry dans Oracle et PostgreSQL sont implémentées en langage SQL (Structured Query Language). Il s'agit d'un langage au niveau de la base de données. Dans Oracle, il s'agit du langage PL/SQL (Procedural Language Structured Query Language). Dans PostgreSQL, le langage utilisé est PL/pgSQL.

Lorsque vous accédez aux colonnes ST_Geometry dans une base de données Oracle ou PostgreSQL à l'aide des fonctions SQL, vous accédez à la base de données directement. Par conséquent la base de données doit être capable d'accéder aux fonctions ST_Geometry. Dans Oracle, la base de données engendre également un processus extproc.

Dans SQLite, les fonctions ST_Geometry sont implémentées dans C dans la bibliothèque ST_Geometry. Vous devez accéder à la bibliothèque ST_Geometry pour utiliser les fonctions ST_Geometry.

PostgreSQL

La bibliothèque st_geometry doit être stockée dans le répertoire d'installation de PostgreSQL pour permettre à PostgreSQL d'accéder aux fonctions ST_Geometry. Vous devez copier le fichier st_geometry.dll (Windows) dans le dossier lib du répertoire d'installation de PostgreSQL. Pour les serveurs Linux, copiez le fichier st_geometry.so (Linux) dans le répertoire /usr/lib/pgsql sur le serveur PostgreSQL. Vous trouverez ces deux fichiers dans le dossier DatabaseSupport d'installation du client ArcGIS.

Oracle

Les fonctions sont implémentées dans PL/SQL, qui appelle les fonctions écrites en langage de programmation C dans les fichiers de bibliothèque partagés externes. Les fonctions sont appelées à partir de PL/SQL à l'aide d'un nom d'alias qui fait correspondre le nom de la bibliothèque (dans le cas de ST_Geometry dans Oracle, ST_SHAPELIB) avec le nom du fichier de bibliothèque. (Pour plus d'informations, consultez la documentation relative à la commande Oracle CREATE LIBRARY.) La première fois qu'une fonction de type spatial qui requiert ST_SHAPELIB est appelée, la base de données demande au processus d'écoute d'engendrer un processus extproc pour la session SQL. Il est fourni au processus extproc l'emplacement de ST_SHAPELIB, le nom de la fonction à appeler ainsi que ses paramètres. Le processus extproc charge ST_SHAPELIB et appelle la fonction. Lorsque la fonction externe prend fin, le processus extproc renvoie les résultats et reste actif, dans l'attente d'appels de fonction supplémentaires au cours de la session. Le processus extproc prend fin à la déconnexion de la session SQL.

Pour que cela fonctionne, la configuration suivante est nécessaire :

SQLite

Vous devez charger la bibliothèque ST_Geometry et désigner son emplacement de manière à ce que le client SQLite puisse accéder aux fonctions SQL. Vous pouvez définir l'emplacement de la bibliothèque dans la variable d'environnement PATH (Windows) ou LIBPATH (Linux) du client avant de charger la bibliothèque ou spécifier le chemin d'accès lors du chargement de la bibliothèque ST_Geometry. Reportez-vous à la rubrique Charger la bibliothèque ST_Geometry SQLite pour en savoir plus.

Thèmes connexes

5/10/2014