How to configure FIXEdge to work with Oracle database
Prerequisites:
- Make sure that Oracle driver is installed on the machine, which you are going to connect to Oracle database from One can install necessary driver by downloading it here: http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
- In case if Oracle database resides on remote server, make sure that you can access server with the database
- Make sure that you have your database connection parameters (Host, port (if different from default), Server name, Username, Password) handy
Configuration steps:
Note, if database and FIXEdge reside on the same server go straight to step 3.
I. Configure System DSN:
- Check if you can access database server. Run 'cmd.exe' and execute the following command 'tnsping host:port' Example: tnsping evuakyisd0084.kyiv.epam.com:1521 If command output is 'OK' (see example below), continue from step 3. Otherwise, move to step 2. Used HOSTNAME adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=10.17.9.56)(PORT=1521))) OK (360 msec)
- Add definition of remote database TNS name on your machine. Open 'tnsnames.ora' and specify new TNS name (see example below). Save the file. TNS file location should be similar to: ..\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN (depending on installed Oracle version) Example: EPMBFIX = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = EVUAKYISD0084.kyiv.epam.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = EPMBFIX) ))
- Create System DSN: Open ODBC Data Sources Administrator (Start > Administrative Tools > Data Source (ODBC)) and create new DSN. 3.1 Choose System DSN and click 'Add' 3.2 In 'Create New Data Source' wizard select Oracle ODBC driver and click 'Finish' 3.3 Specify Oracle ODBC Driver configuration parameters and click 'OK':
- Data Source Name = any value (this parameter will be used in BL_Config.xml)
- Description = optional and can be omited
- TNS Service Name = specify name of service name of database you are going to connect to Note, if new TNS was created in tnsnames.ora, its name should be used here (for our example it should be EPMBIX). If database and FIX Edge are on different servers and step 2 was skipped, specify service name so: @//Database_Host:Database_port/Database_Service_Name If database and FIX Edge are on the same server, specify database service name
- Username = database username
3.4 New DSN should appear in the list of System Data Sources. 3.5 Test connection to the database: Select created DSN and click 'Configure'. In opened window press 'Test Connection' and enter database password in 'Oracle ODBC Driver Connect' window. In case of success 'Connection Successful' will be displayed.
II. Point FIX Edge to the database
- Refer to 'BL_Config.xml' located in '../FIXEdge/FIXEdge1/conf/' folder and specify database connection string as a part of History definition: Example: <History Name="SENT_MESSAGES_CMESTP" StorageType="ODBC" MaxNumberOfRecords="15000" TableName="SENT_MESSAGES_CME" ColumnSize="256" ConnectionString="DSN=FIXTCAP;UID=ICECME;PWD=ICECME;"> <KeyField ColumnName="TradeReportID">571</KeyField> <KeyField ColumnName="TradeID2">1040</KeyField> <Field ColumnName="TransactTime">60</Field> </History> Where DSN - should point to System DSN created using instructions above; UID = database username; PWD = database password
- Specify your business logic for integration with the database
- Start FIX Edge