Skip to main content
I am using ArcSDEQuerier with only an attribute query to fetch geometry for features.

 

The where clause uses an attribute value populated by an earlier SQLCreator transformer:

 

"POLYGON_NUMBER = @Value(POLYGON_NUMBER)".

 

I have noticed that the query running in Oracle uses a hard-coded value rather than a bind variable.  This adversely affects performance.

 

Is there any reason why the ArcSDEQuerier does not use bind variables?

 

Also is there way to alter the SDE connection CURSOR_SHARING session parameter before running the translation so that I can force the use of bind variables? 

 

 

I am using FME 2012 desktop, the Oracle version is 10g and ArcSDE version is 9.3.

 

Hi,

 

 

for what it's worth, the SQLExecutor doesn't bind variables either, so I guess it's by design.

 

 

Which is a pity, both because of performance but it also makes it a little more complicated when you want to pass string values that contain quotes (Oracle specific solution here).

 

 

David

Reply