Labels

Android (1) bash (2) boost (2) C (34) C++ (2) cheatsheet (2) CLion (6) css (3) Debian (33) DL (17) Docker (2) Dreamweaver (2) Eclipse (3) fail2ban (4) git (5) GitHub (4) Hacking (3) html (8) http (1) iOS (1) iPad (1) IRC (1) Java (31) javascript (3) Linux (167) Mac (19) Machine Learning (1) mySQL (48) Netbeans (4) Networking (1) Nexus (1) OpenVMS (6) Oracle (1) Pandas (3) php (16) Postgresql (8) Python (9) raid (1) RedHat (14) Samba (2) Slackware (47) SQL (14) svn (1) tar (1) ThinkPad (1) Virtualbox (3) Visual Basic (1) Visual Studio (1) Windows (2)

Thursday, 20 August 2020

DL Process Control applications - database connectivity and build process.

Note on the C++ binaries and the database connectivity.


Build Process


The binaries reside in /pcli/run

with the source in /app/src

Additionally, there are other source files in /pcli/src/ such as for logview.

To compile the source;
  1. run make in /app/src/appname
  2. then kill the current appname using monit stop appname
  3. then copy the new binary from /app/bin/appname/ to /pcli/bin/appname/
  4. finally start the app with monit start appname


Database configuration (and other things in) /pcli/conf/system.ini

I believe in the application the database  details are read in by the following (example);

 //=================================
    // Collect any parameters from the|
    // system config file             |
    //=================================
    CSimpleIniA ini(true, true, true);
    SI_Error rc = ini.LoadFile("/pcli/conf/system.ini");




with database settings as per the example below;

//====================
    // Database settings |
    //====================
    DB.set_db("DB-MAIN");
    DB.set_debug(0);
    DB.connect(SYSVAR->SYS_ONLINE);

    DBMCC.set_db("DB-MCC");
    DBMCC.set_debug(0);
    DBMCC.connect(SYSVAR->SYS_ONLINE);

    DBFCC.set_db("DB-MF-MQ-LINK");
    DBFCC.set_debug(0);
    DBFCC.connect(SYSVAR->SYS_ONLINE);



Where DB-MAIN refers to the information in system.ini

The query is built as per the example below;

sprintf(sql, "select id,msg_doe from fec.mes_7600 where processed=0 order by id limit 1");

OR

sql << "update fec.mes_7600 set processed=1 where id='" << id << "'" << endl;

With the database actions being similar to the example below;

DB.select(SYSVAR->SYS_ONLINE, &sql, &res);

OR

DB.execute(SYSVAR->SYS_ONLINE, &sql);


No comments:

Post a Comment

Note: only a member of this blog may post a comment.