Unterschiede bei der Implementierung für den "ST_Raster"-Typ

Unterschiede bei der "ST_Raster"-Implementierung verschiedener Datenbanken sind das Ergebnis von Implementierungsunterschieden in Bezug auf SQL-Syntax, Datentypen und benutzerdefinierte Typen der einzelnen Datenbankmanagementsysteme (DBMS).

Die Datentypen, die als Eingabe verwendet und von der gleichen Funktion zurückgegeben werden, variieren in Abhängigkeit davon, welche Datentypen im DBMS verfügbar sind. Die Funktion "ST_Raster_Util.describe" verwendet z. B. NCLOB, VARCHAR2 und NVARCHAR2 als Eingabe und gibt CLOB in Oracle zurück. In PostgreSQL wird jedoch TEXT als Eingabe verwendet und zurückgegeben.

Die "ST_Raster"-Typbibliothek wird als Assembly in Microsoft SQL Server-Datenbanken implementiert. "ST_Raster"-Funktionen werden in unterschiedlichen Datenbanken auch auf verschiedene Arten implementiert. In Oracle und SQL Server werden "ST_Raster"-Funktionen z. B. auf Elementmethodenebene implementiert, während sie in PostgreSQL auf PL/SQL-Paketebene implementiert werden.

Auch einige Funktionsnamen ändern sich von Datenbank zu Datenbank. Beispielsweise heißt die Funktion zum Ermitteln der aktuellen Versionsnummer des "ST_Raster"-Typs in Oracle "ST_Raster_Util.getLibraryVersion" und in PostgreSQL "st_raster_getversionlib".

Wenn Sie "ST_Raster"-Funktionen in SQL Server verwenden, muss die Schreibweise der Funktion dem Funktionsnamen entsprechen. Sie müssen z. B. getPixelType eingeben und nicht getpixeltype, GetPixelType oder GETPIXELTYPE.


3/6/2012