Connecting to an Oracle Database for Smart Instrumentation hosted on a different machine


To connect to an Oracle Database hosted on a different machine (such as a VM) from where the SPI Connector is installed, please take the following steps.

  1. Get the IP address from your Oracle machine.
  2. Ping the machine hosting the Oracle service from the machine with the connector installed. If this does not work, edit the firewall settings.
  3. Edit the listener.ora file on the Oracle machine to include the SID_DESC for your Oracle service/db. This stack overflow answer explains how to do it (pasted excerpt below).

 

# listener.ora Network Configuration File: C:\app\oracle_user\product\12.1.0\dbhome_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = C:\app\oracle_user\product\12.1.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle_user\product\12.1.0\dbhome_1\bin\oraclr12.dll")

    )

    (SID_DESC =

        (GLOBAL_DBNAME = orcl)

# don’t copy this line, rather copy the RHS from your version of listener.ora to get the correct oracle home path!

        (ORACLE_HOME = C:\app\oracle_user\product\12.1.0\dbhome_1)

        (SID_NAME = orcl)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

 

  1. After editing this file, you may need to stop and restart the listener using …

lsnrctl stop

lsnrctl start

 2. Change the server string to “ip_address:port_name/server_name” w/o quote in ini file or in GUI

 e.g.

note: random/fake ip address used below. 

ip address = 295.77.612.59

port = 1521

service name = orcl

server = 295.77.612.59:1521/orcl

 

Figure 1 - Success on iModel Connector for Smart Instrumentation