Solved

Low-level TCP/IP connection API in Oracle database 10g

Posted on 2008-09-29
8
642 Views
Last Modified: 2013-12-18
A customized web server, which wants to connect Oracle database 10g with TCP connection in low level.
If any expert here can find the links/URLs/codes for me, which talk about low-level TCP connection in Oracle database 10g with C/C++, I greatly appreciate it. Simply speaking, the low-level API C/C++ codes making connection to Oracle database 10g can use to develop their own product.
0
Comment
Question by:jl66
  • 4
  • 4
8 Comments
 
LVL 34

Expert Comment

by:johnsone
ID: 22597420
The lowest level documented connection method to Oracle that I know if is OCI (Oracle Call Interface).

It can definitely be used from C/C++.

Be aware that things change version to version at this level and code may need to be rewritten for different Oracle versions.

A slightly higher level of connection can be acheived with Pro*C.  The trade off is a little less powerful, a little higher level connection, but easier to maintain (code should not need to be rewritten for newer versions).

I have Pro*C code that was originally written against Oracle 7, that compiles and works fine with Oracle 9 with no modifications.
0
 

Author Comment

by:jl66
ID: 22601402
johnsone,
Thanks for your info. What I try to find out is hot to code TCP connection to Oracle database (possible in packet level): initial connection, handshake, establish connection, authentication, etc. For example, in the embedded system, how to write the interface in this system to connect the Oracle database? It seems it relates the very low level calls. Can you dig in a little bit?
0
 
LVL 34

Expert Comment

by:johnsone
ID: 22605199
I do not think it is possible at the level you are trying to do it.  At least I don't believe it is documented.

The process of simply establishing a connection is pretty complex.  The listener needs to be contacted on a specific port and then the actual database communication can be passed off to another port.

Try setting the trace level on the client side to the highest value (I think 15) and connect to the database normally.  That should give you an idea of the amount of processing and packets involved in making the connection.
0
 

Author Comment

by:jl66
ID: 22606208
johnsone,
Thanks for info.
It must be documented in somewhere. Otherwise how does the embedded software vendor develop the interface? In the other words, how should Websphere (web server owned by IBM) connect to Oracle database? All we can see is high level wrapper functions. Inside are there any low level TCP calls?
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 34

Expert Comment

by:johnsone
ID: 22606241
For the most part, vendors use OCI.

In order to use a product like Websphere, you still need to install some Oracle components.
0
 

Author Comment

by:jl66
ID: 22681690
Johnsone,

Sorry I was out of reach for a while. Continue what you said. I have to install certain Oracle components in the customized web server side in order for Oracle to work. That means "Oracle components" here is an Oracle client. Is that any place to find how to write a 'simple' Oracle client?
0
 
LVL 34

Accepted Solution

by:
johnsone earned 450 total points
ID: 22681845
You would need at least some part of an oracle client.  If you are looking at the OCI level, there is an instant client, which just contains some libraries and would get things at the OCI level working.

I'm not aware of any public documentation that would allow you to write a simple client.  I would think that you need to be an Oracle partner and sign all kinds of documents before they would give you that level of documentation.
0
 

Author Closing Comment

by:jl66
ID: 31501190
Maybe what I expected is really hard to find. Thanks.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
levels for reporting 5 63
PAYER_ID has both atributes 4 30
join 2 views with 5 conditions 3 41
Oracle SQL Select unique values from two columns 4 17
Introduction A previously published article on Experts Exchange ("Joins in Oracle", http://www.experts-exchange.com/Database/Oracle/A_8249-Joins-in-Oracle.html) makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
With the withdrawal of support for Windows Server 2003 this summer, many clients face the issue of moving away from their 2003 installs. There are a few options out there that many people/companies are selling. But the clients I have, haven't wanted…
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
This video shows how to Export data from an Oracle database using the Datapump Export Utility.  The corresponding Datapump Import utility is also discussed and demonstrated.

948 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now