[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ulysse::rdb_vms_competition

Title:DEC Rdb against the World
Moderator:HERON::GODFRIND
Created:Fri Jun 12 1987
Last Modified:Thu Feb 23 1995
Last Successful Update:Fri Jun 06 1997
Number of topics:1348
Total number of notes:5438

1042.0. "Can Cobol program access both Rdb and Oracle DB?" by HGOSPS::STEVENLAU (Steven Lau HKCS) Tue Dec 17 1991 10:48

        A customer plans to use a COBOL program with embedded SQL to access
    Rdb database, and also Oracle database. Does anyone has experience on
    this?
        Is there any conflict on both precompiler? Our reply will affect
    the customer decision on purchasing Rdb.
    
    Regards,
      Steven
T.RTitleUserPersonal
Name
DateLines
1042.1rdbaccess for oracle ?BEAGLE::GODFRINDAlvin Toliver was hereWed Dec 18 1991 12:0129
>        Is there any conflict on both precompiler? Our reply will affect
>    the customer decision on purchasing Rdb.

I have no experience with this, but I can see lots of problems getting both
precompilers to cooperate. There is no mechanism to tell the rdb precompiler
that he should leave certain EXEC SQL statements to the Oracle precompiler.

I am 99% convinced that you will not get this to work.

Now, mixing accesses to rdb and oracle databases in the same executable program
_should_ be feasible. You will have to make sure that rdb code and oracle code
are segregated into separate code modules that you can then run through one of
the precompilers, then link together. 

Again, I have never done this, and I can see some problems, especially in the
area of transaction control. You will have to make sure that each environment
does its own control (SET TRANSACTION and ROLLBACK/COMMIT). There is definitely
no two-phase commit protocol covering both rdb and oracle. This is something
the application will have to manage.

On the other hand,,if all you want is _read_ Oracle data, then you could look
into RdbAccess for Oracle. This will make Oracle db's appear just like rdb
databases. You will write your code to talk to rdb and rdb only. You will not
have to worry about multiple precompilers and conflicting syntaxes. You will be
able to access orcacle and rdb from the same compilation unit.

See BROKE::RDBACCES_ORACLE for details.

/albert
1042.2Another possibility?COOKIE::MELTONThe zen of character setsWed Dec 18 1991 18:0720
Hmmm...interesting questions.

I am uncertain of how you might get Rdb/VMS and Oracle to co�perate in a
transation, but it may be possible.  I am quite certain that you cannot
write a single source module that contains EXEC SQL statements for Rdb/VMS
*and* EXEC SQL statements for Oracle---there'd be no way for either
precompiler to know which statements to bypass (though the SQL Access
Group is working on a way to "flag" implementation-specific SQL syntax
through a sort of "escape" mechanism).  Of course, you can use the
alternative suggested by Albert in .1---separate the code into different
modules. 

However, you have one advantage with Rdb/VMS that you don't have available
to you with other database systems: you could use embedded SQL for
Oracle's benefit and intermix it with module language calls for Rdb/VMS!
If it's possible to get Rdb/VMS and Oracle to co�perate in a transaction,
then that might be an easy to do it.

Just a thought...
   Jim
1042.3one optionDATABS::NEEDLEMANtoday nas/is, tomorrow...Wed Dec 18 1991 23:007
    from some prior work I did 8 years ago in a similar problem, try 2
    subroutines. Use one for each database. Compile separately, link
    together. Have each one called to read,write, open , close.... it's own
    database.
    
    
    Barry
1042.4DECDTM support from Orcale?BROKE::HIGGSSQL is a camel in disguiseThu Dec 19 1991 17:119
RE: .2:

I am uncertain of how you might get Rdb/VMS and Oracle to co�perate in a
transation, but it may be possible.  

	The only way I can think of to get this to work would be if Oracle
	supports DECDTM, so that a 2-phase commit can be achieved across
	the two database systems.  I strongly doubt that it does at this point.
	Anyone know?
1042.5O does not support DECDTMTRCOA::MCMULLENKen McMullenThu Dec 19 1991 19:042
    Of course Oracle does not support DECDTM. If is a proprietary
    transaction manager.
1042.6Try TrifoxBROKE::THOMASAnne Thomas DTN 264-6094Tue Apr 07 1992 00:413
    You might also take a look at a couple of third party tools.  I know
    that Trifox tools can access both Rdb and ORACLE, even in the same
    program.  I think SmartStar has plans to access ORACLE, too.
1042.7Trifox accesses multiple DBMSsPRMS00::LOERICHLurch here! You rang?Wed Apr 08 1992 15:0312
>    You might also take a look at a couple of third party tools.  I know
>    that Trifox tools can access both Rdb and ORACLE, even in the same
>    program.  I think SmartStar has plans to access ORACLE, too.

Trifox can provide a specially linked version of their software that will
access multiple databases simultaneously.  I think they told me that they
can access up to four different DBMSs at one time.  I am working on an
application right now that accesses both Rdb/VMS and ORACLE.

Kathleen Loerich