Accessing DBMS from a BASIC program

From: Tom Connolly,, <connolly_at_labiche.laas.fr>
Date: 16 Feb 93 13:04:12 GMT
Message-ID: <8931_at_laas.laas.fr>


I have an application written in BASIC running on a VAX (which uses simple RMS files for data storage). We would like to move the data into a Relational DBMS and have recently purchased Oracle.

My biggest question and problem at this point is what is the best way to integrate the BASIC programs and Oracle RDBMS? We would prefer not to have to rewrite every screen and batch process in PL/SQL or some other language, but have not come up with an accepatble alternative. Is there one?

We have tried using the following :

BASIC --> C program with embedded SQL --> Oracle RDBMS

And achieved the following results:

                         BASIC/RMS    BASIC/Oracle  SQLPLUS
                         ---------    ------------  ---------
1.  Count 5K rows,
    sum 2 numeric fields   15 secs.   70 secs.       5 secs.

2.  We used a CURSOR to
    minimize DB Calls      15 secs.   52 secs.       5 secs.

The bottlekneck seems to be the 5000 individual FETCH calls BASIC must request, since BASIC can not process more than 1 row at a time.

The 5 sec SQL statement was: "select count(*), sum(col1), sum(col2) from test_table".

I have heard of products that work with Oracle like PASSPORT and ENCINA, but don't know much about what they do or if we could use them.  

Any suggestions on how we can keep our BASIC programs intact (with Oracle or another DBMS) and achieve access times comparable to the existing BASIC/RMS performance will be greatly appreciated.    

Tom Connolly  

e-mail: connolly_at_udel.edu   Received on Tue Feb 16 1993 - 14:04:12 CET

Original text of this message