JDBC

Spectrum Spatial は、SQL Server、Oracle、PostGres/PostGIS、GeoPackage を含む複数の JDBC データ ソースを直接サポートしています。タイプ 3 以降のドライバがサポートされています。

また、Spectrum Spatial では、mySQL、DB2 などのサポート対象外の JDBC データ ソースにもアクセスできます。これらのデータ ソースは、XY テーブルとしてアクセスしない限り、非空間テーブルになります。

Spectrum Spatial では、JDBC ベースのデータ ソースを読み取り/書き込み用データ ソースとして扱います。

JDBC ベースのデータ ソース プロバイダにアクセスするには、データベース JDBC ドライバを /<spectrum root>/server/modules/spatial/lib/<spectrum root>/server/app/lib の両方のディレクトリに追加して、選択されたデータベースを使用できるようにします。

サポートされるデータ タイプ

Spectrum Spatial は、JDBC データ ソースから文字列、日付、数値を読み取ります。以下の表に、JDBC タイプを Spectrum Spatial タイプにマップする方法を示します。

java.sql.Types Spectrum Spatial のデータ タイプ
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
OTHER (NVARCHAR2、NCHAR) STRING

プライマリ キー

テーブルのプライマリ キーは、常に明示的で、JDBC から返されるデータベースのメタデータによって決まります。

読み取り専用列

列は、データベースのメタデータに従って、読み取り専用とマーク付けされます。自動インクリメント列が、読み取り専用としてマーク付けされます。

MI SQL の最適化

JDBC データ ソース プロバイダには、次の MI SQL コンストラクトの最適化が含まれています。

詳細については、付録のデータ ソース プロバイダへの委任を参照してください。

可変性

Spectrum Spatial は、JDBC テーブルの可変性をサポートしていません。このデータ ソースからのテーブルはキャッシュされないため、Spectrum Spatial はテーブルのメタデータが変更されているかどうかを確認しません。ただし、名前付きテーブルの定義が変更されているかどうかは確認します。変更されている場合は、名前付きテーブルを破棄して再度読み込みます。変更されていない場合は、既存のテーブルを使用して、データ アクセス操作を実行します。

Spectrum Spatial のサポート対象の JDBC データ ソース プロバイダの可変性はサポートされています。

XY テーブルのサポート

JDBC テーブルは、XY テーブルのサポートに記載したルールを使用すると、XY テーブルとしてアクセスできます。

テーブルを XY テーブルとして識別する方法はいくつかあります。

  • エントリが MAPINFO_MAPCATALOG 内にある場合は、X 列と Y 列および座標系が識別されます。X と Y 列は統合されてジオメトリ列になります。
  • XY テーブルが Spectrum Spatial™ Manager を使用して作成された場合、MAPINFO_MAPCATALOG 内のエントリは必要ありません。XY テーブルの作成 を参照してください。
  • 列と座標系を名前付きテーブル定義で明示的に定義します。