JDBC

Spectrum Spatial prend directement en charge plusieurs sources de données JDBC, notamment SQL Server, Oracle, PostGres/PostGIS, GeoPackage et SAP HANA.

Spectrum Spatial peut également accéder à des sources de données JDBC non prises en charge, telles que mySQL et DB2. Ces sources de données sont non spatiales, sauf si leur accès s'effectue sous forme de table XY.

Spectrum Spatial traite une source de données JDBC comme une source de données accessible en lecture-écriture.

Pour accéder à un fournisseur de source de données JDBC, ajoutez le pilote de base de données JDBC aux deux répertoires /<spectrum root>/server/modules/spatial/lib et /<spectrum root>/server/app/lib pour lui permettre d'utiliser la base de données sélectionnée.

Type de données prises en charge

Spectrum Spatial lit les chaînes, les dates et les nombres des sources de données JDBC. Le tableau ci-dessous montre la manière dont les types JDBC sont mappés vers les types Spectrum Spatial.

java.sql.Types Type de données Spatial Spectrum
BIGINT LONG_INTEGER
BINARY BINARY
BIT BOOLEAN
BLOB BINARY
BOOLEAN BOOLEAN
CHAR STRING
DATE DATE
DECIMAL DOUBLE
DOUBLE DOUBLE
FLOAT DOUBLE
INTEGER INTEGER
LONGVARBINARY BINARY
LONGVARCHAR STRING
NUMERIC DOUBLE
REAL DOUBLE
SMALLINT SHORT_INTEGER
TIME TIME
TIMESTAMP DATE_TIME
TINYINT SHORT_INTEGER
VARBINARY BINARY
VARCHAR STRING
NVARCHAR STRING
NCHAR STRING
AUTRE (NVARCHAR2, NCHAR) STRING

Clé principale

La clé primaire d’une table est toujours explicite et déterminée par les métadonnées de la base de données renvoyées via JDBC.

Colonnes en lecture seule

Les colonnes sont indiquées en lecture seule tel que déterminé par les métadonnées de la base de données. Les colonnes à incréments automatiques sont indiquées en lecture seule.

Optimisations de MI SQL

Le fournisseur de source de données JDBC contient des optimisations pour les constructions MI SQL suivantes :

Pour plus d'informations, reportez-vous à l'annexe Délégation aux fournisseurs de données.

Volatilité

Spectrum Spatial ne prend pas en charge la volatilité dans les tables JDBC. Les tables de cette source de données ne sont pas mises en cache, si bien que Spectrum Spatial ne va pas vérifier si les métadonnées de la table ont été modifiées. Il peut néanmoins vérifier si la définition de table nommée a changé. Si c'est le cas, il abandonne la table nommée et la recharge. Si elle n'a pas été modifiée, il utilise la table existante et poursuit l'opération d'accès aux données.

La volatilité est prise en charge pour les fournisseurs de source de données JDBC pris en charge par Spectrum Spatial.

Prise en charge de tables XY

Une table JDBC est accessible sous forme de table XY à l'aide des règles stipulées dans Prise en charge des tables XY.

Une table est identifiée comme une table XY de plusieurs façons.

  • S’il existe une entrée dans le MAPINFO_MAPCATALOG, les colonnes X et Y et le système de coordonnées sont identifiés. Les colonnes X et Y sont fusionnées sous forme de colonne de géométrie.
  • La table XY a été créée via Spatial Manager. Une entrée dans MAPINFO_MAPCATALOG n’est pas nécessaire. Reportez-vous à la section Création d'une table XY.
  • Les colonnes et le système de coordonnées sont explicitement définis dans la définition de table nommée.