Select to view content in your preferred language

Configuring Oracle listener for ST_GEOMETRY: Invalid DLL Path for st_shapelib.dll

1780
5
08-10-2010 05:31 AM
danan
by
Frequent Contributor
I'm trying to configure the Oracle listener to support ST_GEOMETRY in a pre-development test environment and failing.

- All boxes are XP
- RDBMS is 10g R2, ArcSDE 10
- Clients are 11g
- No SDE binaries or services are on the RDBMS box except, of course, for st_shapelib.dll

When I try to access the view sde.gdb_items_vw from an 11g SQL*PLUS client, I get the following errors:

ORA-28595: Extproc agent: Invalid DLL Path
ORA-06512: at "sde.st_geometry_shapelib_pkg" line 1339
ORA-06512: at "sde.st_geom_util" line 760

Note that this is after the listener service was re-started subsequent to editing listener.ora.

The listener.ora file looks as follows:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=D:\oracle\product\10.2.0\db_1\LIB\st_shapelib.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = <*deleted*>)(PORT = 1521))
    )
  )

st_shapelib.dll is in fact on the RDBMS at the place indicated above in listener.ora. However, I didn't perform any sort of DLL registration. And I have not executed any SQL statements to change values in sde schema tables to reflect its location. The instructions I've followed say no such thing is required:

http://help.arcgis.com/en/arcgisdesktop/10.0/help/002n/002n00000091000000.htm

...although browsing around elsewhere, perhaps it is and I've missed something.

tnsnames.ora looks as it ought to based on ESRI's sample, e.g. the keys match, etc. I can post that if necessary.

What might be wrong and what else can I check for?

Thanks very much.
0 Kudos
5 Replies
VinceAngelo
Esri Esteemed Contributor
It looks like you have an extra space in the ENVS path ("\ LIB", not "\LIB").

- V
0 Kudos
danan
by
Frequent Contributor
It looks like you have an extra space in the ENVS path ("\ LIB", not "\LIB").

- V


There is no space in my listener.ora. I've noticed with the new forum software (seems to be vBulletin), that spaces are sometimes incorrectly introduced. Please see the attached listener.ora, from which I copy/pasted. I named it listener.ora.txt because vBulletin would not accept an upload with a .ora file extension.
0 Kudos
danan
by
Frequent Contributor
Anyone have any ideas? Wanted to see if there was anything else I could try before opening a tech support ticket.
0 Kudos
ModyBuchbinder
Esri Regular Contributor
Hey Dana

Check this: http://resources.arcgis.com/content/kbase?fa=articleShow&d=35473
Make sure the dll is the same 32bit/64bit as the Oracle and the OS.

Have Fun
Mody
0 Kudos
danan
by
Frequent Contributor
Hey Dana

Check this: http://resources.arcgis.com/content/kbase?fa=articleShow&d=35473
Make sure the dll is the same 32bit/64bit as the Oracle and the OS.

Have Fun
Mody


Mody, thanks--that worked perfectly. The DLL was of the right kind but Oracle was looking in the wrong place for it. The CREATE OR REPLACE LIBRARY statement, pointing to the correct path for the DLL, fixed things.

By default, it expected the DLL to be here:
[INDENT]C:\Program Files\ArcGIS\ArcSDE\...st_shapelib.dll
[/INDENT]
When in reality, it was here:
[INDENT]D:\oracle\product\10.2.0\db_1\LIB[/INDENT]
0 Kudos