English

Error: ORA-29900: operator binding does not exist

Error Message

If the st_geometry type or operators are not fully qualified with the SDE owner and Oracle spatial is installed in the Oracle database, the following Oracle error is returned:

"ORA-29900: operator binding does not exist"

Code:
SQL> SELECT COUNT(DISTINCT objectid)
2 FROM service_pnts, water
3 WHERE st_intersects (service_pnts.shape,water.shape) = 1;
WHERE st_intersects (service_pnts.shape,water.shape) = 1
*
ERROR at line 3:
ORA-29900: operator binding does not exist
ORA-06553: PLS-306: wrong number or types of arguments in call to 'SDO_ANYINTERACT'

Cause

If the st_geometry operator is not fully qualified when public synonyms for the st_geometry type and operators do not exist, and Oracle spatial is installed in the Oracle database, Oracle maps st_geometry operators to its own st_geometry type owned by the MDSYS user.

Solution or Workaround

Always fully qualify all st_geometry operators with the type and operator owner SDE, for example, sde.st_point or sde.st_intersects.

    Related Information