I would create a set of C programs which would ask the server
process on the SAP DB side for the data and then deliver that data
back to oracle. You have a myriad of means for communication between
the processes:
- Pipes Most traditional and primitive, but very easy to probram. Also, pipes are limited in scope because they cannot handle network. There are tricks with named pipes and NFS, but those are perversions of Tao and those who use them
will be rewarded by having to use winsock for all eternity.
- Sockets. They're easy to program and to implement, they handle network well,
but the problem lies within the unix file paradigm they use. Sockets treat every transfer as an amorph mass of bytes and do not impose any structure on what's transimitted/received.
- Messaging systems. IBM MQ Series, TIBCO Rendesvouz, Oracle's own AQ stuff.
Those systems impose structure but are, generally speaking, less performant then sockets or pipes.
- Shared memory and System V IPC, combined with mmap. That is absolutely the fastest way to do such things, but also the hardest one to program. In essence, two programs map ("attach") the same shared memory buffer and they use it to communicate among themselves. The programmer is responsible for synchronizing access and singalling. You should really get "Unix Network Programming" written by Richard Stevens. Both volumes together cost around $140 but are well worth it.
- CORBA and TP monitor stuff. TP monitors (I worked with the two most popular TP monitors, IMS and CICS in the 80's and I'm grateful to the Lord in heaven that I don't have to that any more. Hallelujah!). TP monitors often have proprietary means of communication between transactions. I dunno much about CORBA, but my impressions are that it will be rady for prime time sometimes in the year 2525 (I love 106.8 light FM, radio with most music and least talk).
To make things even better, both vendors support some of the products listed above (CORBA, TP monitors, messaging systems) on the marketing level. If I were you, and if there weren't gigabytes of information to transfer in a secure fashion over WAN, I'd stick with pipes or sockets.
On 2003.10.20 01:39, Gunnar Berglund wrote:
Hi all,
we have an application which needs data from other environment (which is actually SAP db). Currently we have implemented it the way we create flat files and put them in using pl/sql -procedures but I don't like this because the data in the flat files are "visible" and it is somehow "secret".
What other options we might have if we do not want to use db links (because of its slowness.
I very much appreciate all your suggestions...
TIA gb
---------------------------------
Want to chat instantly with your online friends?�Get the FREE Yahoo! Messenger
-- Mladen Gogala Oracle DBA -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Mladen Gogala INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
