Visual C++ and Database

Posted on 2000-03-07
Medium Priority
Last Modified: 2013-11-20
Hello Gurus,

Is it possible to access Oracle database from an application writen in Visual C++. If yes , how can I do it? I would  like to receive code semples if possible !


Question by:tybe
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +2

Expert Comment

ID: 2591146

I know it is possible to access Oracle databases from an application written in Visual C++.

In order to do that, you have to use the Microsoft Visual Database Tools (new in VC6).

To have more infos, take a look at http://msdn.microsoft.com/library/devprods/vs6/vstudio/vdbref/dvovrnewfeatures.htm

Sorry, but I've never accessed an OracleDB from VC, so I can't help you much more.

Expert Comment

ID: 2591188
I think you have to use OCI (Oracle call interface). For sure only if you want to use the native drivers. The alternative way is to use ODBC, for that you can use ADO for example.

Expert Comment

ID: 2591262
In order to use ODBC, you have to "register" the database under the windows Control Panel.
Is it possible with Oracle DB?

Moreover, ODBC isn't the best way to access to databases, because of its limited functions.
Get MongoDB database support online, now!

At Percona’s web store you can order your MongoDB database support needs in minutes. No hassles, no fuss, just pick and click. Pay online with a credit card. Handle your MongoDB database support now!

LVL 32

Expert Comment

ID: 2591376
If you application is going to work ONLY with Oracle and you are sure you will never change to another database engine, then the OCI is the fastest and most efficient way of accessing Oracle.  THe drawback is that it works only with Oracle.

ODBC is obsolete and should not be used in new designs unless there is no support for DAO.

DAO (Data Access Objects) is the Microsoft recommended database neutral method of interfacing a Windows program (VC++, VB, whatever) to an underlying database engine.  The drawbacks are slower performance than the native interface, need for additional setup/configuration.  In return for this you get greater independence from the database itself.

There are many references available (both online and printed) in building DAO.  MFC support DAO via its CDaoDatabase class.  ODBC is support via the CDatabase class.
LVL 32

Expert Comment

ID: 2591385
By the way, there are a couple of DAO sample projects using CDaoDatabase in the SDK.  See the DAOTABLE and the DAOVIEW sample applications.

The Oracle SDK (comes with Oracle) has samples on their native OCI interface.

Expert Comment

ID: 2591434
Actually, as I know, Microsoft recomends to use ADO, not DAO.

Expert Comment

ID: 2591506
You cannot use DAO because it uses the MS Jet Engine (the engine of MS Access).
And Jet isn't supported by Oracle.

Expert Comment

ID: 2592532
Another solution
Oracle Ole Objects which are simple in use and internally use OCI calls - the fastest way to access Oracle databases

Also you can use Oracle's MFC objects
All mentioned sources come with Oracle install.

There you can find samples for OO4O and OMFC. Look in the corresponding directories.


Accepted Solution

ghimireniraj earned 900 total points
ID: 2608098
It is absolutely possible to have a VC++ developed program to acess the Oracle datadbase?

Well How?

1)make a DSN ( data sourse name using
Oracle ODBC driver) from the control pannel.

2)then ,assuming that you have ready the tables that you want to acess in the database,

3)start the application wizard,

step1-->choose single document
step2-->database view with out file support
click the datasourse button

select your DSN (that you created)

enter username, password, service,

select your table

when the form view appears
add edit boxes and
press CTRL+double click

Map to corresponding table column fields

well the application is ready

But to write flexible applications read CDatabase and CRecordSet Classes from the MSDN and there are sample codes as well.

I can help you if you need more help.
My email address is




Expert Comment

ID: 2608263
ODBC (and CDatabase and Crecordset) has very performance on Oracle databases
I found out that OCI has the best performance for quering.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

This is to be the first in a series of articles demonstrating the development of a complete windows based application using the MFC classes.  I’ll try to keep each article focused on one (or a couple) of the tasks that one may meet.   Introductio…
Introduction: The undo support, implementing a stack. Continuing from the eigth article about sudoku.   We need a mechanism to keep track of the digits entered so as to implement an undo mechanism.  This should be a ‘Last In First Out’ collec…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Suggested Courses

777 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