应该有关系.
Error: ORA-22804
Text: remote operations not permitted on object tables or user-defined type
columns
---------------------------------------------------------------------------
Cause: An attempt was made to perform queries or DML operations on remote
object tables or on remote table columns whose type is one of object,
REF, nested table or VARRAY.
Action:
There are restrictions for certain SQL operations on remote databases. One of these is that you cannot access a table that contains a user defined
type across a database link.
而空间数据库中用的数据类型,比如MDSYS.SDO_GEOMETRY类型
SQL> desc MDSYS.SDO_GEOMETRY
Element Type
------------- -------------------------
SDO_GTYPE NUMBER --几何实体类型
SDO_SRID NUMBER --与几何实体相关的空间坐标系统
SDO_POINT MDSYS.SDO_POINT_TYPE --使用X、Y、Z属性值表示定义的对象类型。
SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY --用变长的NUMBER型数组来定义,表示怎样翻译SDO_ORDINATES里的坐标值
SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY --用变长的NUMBER型数组来定义,存储空间对象的边界值
GET_GTYPE FUNCTION
GET_DIMS FUNCTION
GET_LRS_DIM FUNCTION
GET_WKB FUNCTION
GET_WKT FUNCTION
ST_COORDDIM FUNCTION
ST_ISVALID FUNCTION
SDO_GEOMETRY FUNCTION
SQL>
这个类型的定义如下:
CREATE OR REPLACE TYPE MDSYS.SDO_GEOMETRY AS OBJECT (
SDO_GTYPE NUMBER,
SDO_SRID NUMBER,
SDO_POINT SDO_POINT_TYPE,
SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY,
SDO_ORDINATES SDO_ORDINATE_ARRAY,
MEMBER FUNCTION GET_GTYPE
RETURN NUMBER DETERMINISTIC,
MEMBER FUNCTION GET_DIMS
RETURN NUMBER DETERMINISTIC,
MEMBER FUNCTION GET_LRS_DIM
RETURN NUMBER DETERMINISTIC)
ALTER TYPE SDO_GEOMETRY
ADD MEMBER FUNCTION GET_WKB RETURN BLOB DETERMINISTIC,
ADD MEMBER FUNCTION GET_WKT RETURN CLOB DETERMINISTIC,
ADD MEMBER FUNCTION ST_CoordDim RETURN SMALLINT DETERMINISTIC,
ADD MEMBER FUNCTION ST_IsValid RETURN INTEGER DETERMINISTIC,
ADD CONSTRUCTOR FUNCTION SDO_GEOMETRY(wkt IN CLOB,
srid IN INTEGER DEFAULT NULL) RETURN SELF AS RESULT,
ADD CONSTRUCTOR FUNCTION SDO_GEOMETRY(wkt IN VARCHAR2,
srid IN INTEGER DEFAULT NULL) RETURN SELF AS RESULT,
ADD CONSTRUCTOR FUNCTION SDO_GEOMETRY(wkb IN BLOB,
srid IN INTEGER DEFAULT NULL) RETURN SELF AS RESULT
CASCADE