Question

Options to create and SDE (oracle) version

  • 14 April 2015
  • 6 replies
  • 15 views

Badge
Hi,

 

Which are all options to create a new version on arcsde (oracle12c)?

 

I am running fmeserver FME 2014 SP4 (20141022 - Build 14433 - WIN32) and  have managed to create the version with arcpy :), but the client does not want to change the default python interpreter :(.

 

So i am trying to find another method to create a version  of an SDE (oracle12c) dataset. I have already tryied slqexecutor but i cannot connect to this oracle12c (just oracle8)!

 

 

Any clue?

 

 

Thanks a lot in advance!

6 replies

Userlevel 4
Hi,

 

 

don't let the name confuse you, the ORACLE_8I reader/writer works just fine with Oracle 12, as long as you have the Oracle 12 client libraries installed :-)

 

 

David
Badge
Hi,

 

Thanks for your help, but it is not the writer/reader i am playing with. Is the SQLExecutor, and the connection parameters in it.

 

At the same workspace i have an SDE30 writer that works fine. But if i use the same parameters on the SQLexecutor to connect witht the oracle database i get this message:

 

Error connecting to Oracle database: message was `ORA-12154: TNS:could not resolve the connect identifier specified'. (serverType=`ORACLE8i', serverName=`blablabla.sde', userName=`username', password=`***', dbname=`')

 

any idea?

 

Thanks in advance!
Userlevel 4
Hi,

 

 

The SQLExecutor and the reader/writer is based on the same underlying technology in FME.

 

 

For the SQLExecutor, you cannot use the SDE connection file, you have to either use a registered service name (see the file TNSNAMES.ORA in your Oracle client installation) or a connection string on the form

 

 

user/password@//hostname:port/sid

 

 

For more info, see:http://fmepedia.safe.com/articles/FAQ/How-to-setup-an-Oracle-Instant-Client-for-use-with-FME#heading_toc_j_0

 

 

David
Badge
Yes! that helped me! I got connected but only with Oracle Non-spatial, if I try with spatial i cannot get Database tables on Parameters / SQL Statement. But I can manage the table that i need (non spatial data)

 

 

What i did: i am working with FME2014 so i could not use the easy connection

 

Format:Oracle Non-spatial

 

Dataset:: <tnsname from tnsnames.ora>

 

Service: will automatically fill in with dataset <tnsname from tnsnames.ora>

 

Username:<blablabla>

 

password:<****>

 

Uncheck "Persistent Connection"

 

 

Thanks a lot David!
Userlevel 4
Heisann,

 

 

good to hear that you got it working. Just be aware that you cannot (normally) read SDE Geodatabase geometries data with an Oracle Spatial reader, so that is as expected.

 

 

David

We replaced arcpy-script (due to version conflicts) with following plsql:

create or replace function generate_version_fme(version_name_in in varchar2) 
RETURN VARCHAR2
IS
    version_name VARCHAR2(97); BEGIN    
    select version_name_in into version_name FROM DUAL; 
    sde.version_user_ddl.create_version ('SOMEPARENTVERSION', version_name, sde.version_util.C_take_name_as_given, sde.version_util.C_version_protected, 'My version comment');
    RETURN version_name;
END;  

Then from SQLExecutor, just call:

SELECT generate_version_fme('myVersionStringABC') FROM DUAL;

Or, you could make it parameterized

Reply