i have faced the following error while configuring the external procedure for st_gemoetry in oracle database.
ORA-28575: unable to open RPC connection to external procedure
ORA-06512: at “SDE.ST_GEOMETRY_SHAPELIB_PKG”,line 1325
ORA-06512: at “SDE.ST_GEOM_UTIL”, line823
Before going to the solution of this error, please review the following crucial points:
- Other problems such as file corruption could also cause the extproc program to not be executable. Perform the following steps to verify whether the extproc program is valid and executable:
- Log in to the system as the applicable user.
- cd to the $ORACLE_HOME/bin directory.
- Execute the following command at the prompt:
- starting form Oracle 11g release, you don’t need to configure the listener for external procedure, this can be directly implemented through “extproc” file.
under $ORACLE_HOME/hs/admin directory edit the extproc.ora and
(This is not advisable for security reasons)
and thats it you are FINISHED !!!!!!
However, make sure of the following:
when you perform the following query (access the database as “sde” account user).
SELECT * FROM USER_LIBRARIES;
it should point to the directory where your “.so” file is located, in our example its “$ORACLE_HOME/libst_shapelib.so”
after extensive troubleshooting, i found out that this will occur in one of two situations:
1. the libst_shapelib.so external procedure library is corrupted.
2. the libst_shapelib.so external procedure library is a 32 bit…….to check that use the Unix Command ( filelibst_shapelib.so) the output should give you 64bit
in my situation, the library was corrupted (for some reason)…..when i copied the the library form my local machine (C:\Program Files (x86)\ArcGIS\Desktop10.1\DatabaseSupport) to the database server and used the external procedure method ‘ONLY’ it worked fine and i was able to execute the query: select * from gdb_items_vw;