Board index » delphi » Delphi and Oracle - newbie question (to Oracle)

Delphi and Oracle - newbie question (to Oracle)

I have an application now that uses Paradox tables and would like to move to
client/server.  We're looking at Oracle.  What are different access methods
for using Oracle?  What are the most common ways?  I assume there is a BDE
driver for Oracle.  People seem to shy away from the BDE (or at least
there's a bunch of other database products that advertise that you don't
need the BDE anymore as if this is something highly sought after).  I see
why the move from Paradox would be big and the footprint of an application
with the BDE would be bigger, but other than than, I don't understand.  Is
ADO a highly used technology in Delphi for accessing Oracle through OLE DB?
I see the different ways, but would like to know what's common out there and
what the advantages are.  Is there a way to bypass all the layers and
connect to Oracle directly?  If so, is this even widely done?

Thanks for any insight!!!

 

Re:Delphi and Oracle - newbie question (to Oracle)


Quote
On Mon, 7 Aug 2000 16:30:42 -0400, "Chad Bryant" <c...@wintux.com> wrote:
>I have an application now that uses Paradox tables and would like to move to
>client/server.  We're looking at Oracle.  What are different access methods
>for using Oracle?  

Look into Direct Oracle Access from allroundautomations
http://www.allroundautomations.nl
Its very good.

---------------------------------------------------------------------------
Andrew Porter
http://www.defsdoor.demon.co.uk

Re:Delphi and Oracle - newbie question (to Oracle)


Thanks!!

I went to their site.  Is the TOracleDataset a descendent of TDataSet?  I
was looking for this to be mentioned on their site.  I assume it is.  (Also,
I assume their query component is a descendant of TQuery, etc).

Quote
Andrew Porter <a...@defsdoor.demon.co.uk> wrote in message

news:ZR6POYxG1IWJS=pG5OJ1ZjPcdlSs@4ax.com...
Quote
> On Mon, 7 Aug 2000 16:30:42 -0400, "Chad Bryant" <c...@wintux.com> wrote:

> >I have an application now that uses Paradox tables and would like to move
to
> >client/server.  We're looking at Oracle.  What are different access
methods
> >for using Oracle?

> Look into Direct Oracle Access from allroundautomations
> http://www.allroundautomations.nl

> Its very good.

> --------------------------------------------------------------------------
-
> Andrew Porter
> http://www.defsdoor.demon.co.uk

Re:Delphi and Oracle - newbie question (to Oracle)


if your talking about a net8 oracle connection (oracle 8/8i) then as part of the
net 8 installation you get a set of comcontrols and a type lib.  This is as near
as you will get to the "pure" oracle driver without recourse to the oci level (a
c interface, some commercial ports for this access in delphi).
Quote
Chad Bryant wrote:
> I have an application now that uses Paradox tables and would like to move to
> client/server.  We're looking at Oracle.  What are different access methods
> for using Oracle?  What are the most common ways?  I assume there is a BDE
> driver for Oracle.  People seem to shy away from the BDE (or at least
> there's a bunch of other database products that advertise that you don't
> need the BDE anymore as if this is something highly sought after).  I see
> why the move from Paradox would be big and the footprint of an application
> with the BDE would be bigger, but other than than, I don't understand.  Is
> ADO a highly used technology in Delphi for accessing Oracle through OLE DB?
> I see the different ways, but would like to know what's common out there and
> what the advantages are.  Is there a way to bypass all the layers and
> connect to Oracle directly?  If so, is this even widely done?

> Thanks for any insight!!!

Re:Delphi and Oracle - newbie question (to Oracle)


Can you elaborate a bit on net8?  Is this a product from Oracle or some 3rd
party library?

Thanks

Quote
l.peargrove <l.peargr...@ntlworld.com> wrote in message

news:398F2AAF.C8A79FCF@ntlworld.com...
Quote
> if your talking about a net8 oracle connection (oracle 8/8i) then as part
of the
> net 8 installation you get a set of comcontrols and a type lib.  This is
as near
> as you will get to the "pure" oracle driver without recourse to the oci
level (a
> c interface, some commercial ports for this access in delphi).

> Chad Bryant wrote:

> > I have an application now that uses Paradox tables and would like to
move to
> > client/server.  We're looking at Oracle.  What are different access
methods
> > for using Oracle?  What are the most common ways?  I assume there is a
BDE
> > driver for Oracle.  People seem to shy away from the BDE (or at least
> > there's a bunch of other database products that advertise that you don't
> > need the BDE anymore as if this is something highly sought after).  I
see
> > why the move from Paradox would be big and the footprint of an
application
> > with the BDE would be bigger, but other than than, I don't understand.
Is
> > ADO a highly used technology in Delphi for accessing Oracle through OLE
DB?
> > I see the different ways, but would like to know what's common out there
and
> > what the advantages are.  Is there a way to bypass all the layers and
> > connect to Oracle directly?  If so, is this even widely done?

> > Thanks for any insight!!!

Re:Delphi and Oracle - newbie question (to Oracle)


We have an application that was developed by Delphi 2 on an Oracle 7
backend.  During our development, we have encountered some major problem
with the BDE 3.0 that shipped with Delphi 2.  Unless the user logon as the
schema owner, the where clause of our SQL statement was modified (we believe
it is the Oracle SQLLink).  The problem was solved by BDE 3.5 which shipped
with Delphi 3, but our system has to logon all user on as the schema owner
(so no security) for almost two years.

Lately, we are planning to migrate to Oracle 8.  We purchased Delphi 5,
installed the new BDE (5.01) and SQLLink.  We migrated our database to 8.0.5
on a test server.  Test run our existing application (which runs fine on
Oracle 7.3.4 for over two years) and encounters all kinds of error.
Download the BDE patches (5.10 and 5.11) and test run again.  The patches
got rid of some error but our application was still unable to run without
error.

So it is our experience which tells us to move away from BDE.  It is a
painful decision because it would mean we almost have to rewrite the whole
application (the existing application took 4 developers one and a half years
to finish).  But we don't want to go through the same hassle again in every
upgrade.

Unless you want to write an application which can connect to different
database backends, third party Oracle direct access components give you
better performance because it bypass the BDE and therefore all the BDE
overhead.  It should be more stable (no guarantee though) because it is
designed to work with one database instead of like BDE which has to maintain
compatibility with almost all database backends.

ADO, AFAIK, is simply an ODBC replacement.  If you were to stick with
Oracle, I believe you will get better performance and stability with one of
the third party direct Oracle access components.

There are more than one third party direct Oracle access component or
library available in the market.  AFAIK, there are DOA (Direct Oracle
Access), ODAC (Oracle Direct Access Components), NCOCI8 (free), and recently
I read the SQLAPI++ in the Borland.Public.Interbase NG.  We downloaded the
trial version of DOA and ODAC.  We finally decided to choose DOA because it
has a documented user manual and the tech support so far (even in the trial
stage, and we hope it will be as good after) is pretty good and there is
lots of rave even in this NG.

If porting your application to multiple database is not your goal, I
strongly suggest you to consider one of these third party tools and download
them for an evaluation.  You will get much more than what you paid for.

HTH,
Ping

Quote
Chad Bryant wrote in message <398f1ab9_2@dnews>...
>I have an application now that uses Paradox tables and would like to move
to
>client/server.  We're looking at Oracle.  What are different access methods
>for using Oracle?  What are the most common ways?  I assume there is a BDE
>driver for Oracle.  People seem to shy away from the BDE (or at least
>there's a bunch of other database products that advertise that you don't
>need the BDE anymore as if this is something highly sought after).  I see
>why the move from Paradox would be big and the footprint of an application
>with the BDE would be bigger, but other than than, I don't understand.  Is
>ADO a highly used technology in Delphi for accessing Oracle through OLE DB?
>I see the different ways, but would like to know what's common out there
and
>what the advantages are.  Is there a way to bypass all the layers and
>connect to Oracle directly?  If so, is this even widely done?

>Thanks for any insight!!!

Re:Delphi and Oracle - newbie question (to Oracle)


Quote
> I see why the move from Paradox would be big and the footprint of an
> application with the BDE would be bigger, but other than than, I don't
> understand.  

BDE is doomed and will be replaced in the next version of Delphi, you can
expect that the new database access will be compatible with current database
components and controls, or at least require only minor update work.

Quote
> Is ADO a highly used technology in Delphi for accessing Oracle
> through OLE DB?

Similar to ODBC, but stamped with the Microsoft seal. Don't expect too much
from it if you are not using MS products (Access or SQL Server).

Quote
> I see the different ways, but would like to know what's common out there and
> what the advantages are.  Is there a way to bypass all the layers and
> connect to Oracle directly?  If so, is this even widely done?

There are some components (like the DOA cited in other posts) but they differ
from the standard Delphi components in behaviour and spirit on many aspects.

If you use them, you will probably be locked with them, think twice before
embarking. Make sure your ACTUALLY need to tie yourself with such components
and the Oracle database... Oracle is not that good, costly... and requires a
DBA (Oracle DBAs say Oracle is nice, they just secure their piece of meat ;).
There are alternative DBs, like InterBase, that can do the job if you do not
have to handle thousands of simultaneous accesses or terabyte-sized databases,
and for just a fraction of the burden.

I would also add that if the new DB access in upcoming Delphi is as bad as
BDE for Oracle, then you will have bragging rights, if they work cleanly with
Oracle, you will just have put yourself out of the mainstream for quite
some time.

Eric Grange

Re:Delphi and Oracle - newbie question (to Oracle)


Quote
On Mon, 7 Aug 2000 16:48:13 -0400, "Chad Bryant" <c...@wintux.com> wrote:
>Thanks!!

>I went to their site.  Is the TOracleDataset a descendent of TDataSet?  I
>was looking for this to be mentioned on their site.  I assume it is.  (Also,
>I assume their query component is a descendant of TQuery, etc).

Yes (TQuery is a dataset too)

---------------------------------------------------------------------------
Andrew Porter
http://www.defsdoor.demon.co.uk

Re:Delphi and Oracle - newbie question (to Oracle)


"I would also add that if the new DB access in upcoming Delphi is as bad as
BDE for Oracle, then you will have bragging rights, if they work cleanly
with
Oracle, you will just have put yourself out of the mainstream for quite
some time"

elaborate on this please!!

Quote
Eric Grange <egra...@infonie.fr> wrote in message

news:398FBCBF.99EE37AD@infonie.fr...
Quote
> > I see why the move from Paradox would be big and the footprint of an
> > application with the BDE would be bigger, but other than than, I don't
> > understand.

> BDE is doomed and will be replaced in the next version of Delphi, you can
> expect that the new database access will be compatible with current
database
> components and controls, or at least require only minor update work.

> > Is ADO a highly used technology in Delphi for accessing Oracle
> > through OLE DB?

> Similar to ODBC, but stamped with the Microsoft seal. Don't expect too
much
> from it if you are not using MS products (Access or SQL Server).

> > I see the different ways, but would like to know what's common out there
and
> > what the advantages are.  Is there a way to bypass all the layers and
> > connect to Oracle directly?  If so, is this even widely done?

> There are some components (like the DOA cited in other posts) but they
differ
> from the standard Delphi components in behaviour and spirit on many
aspects.

> If you use them, you will probably be locked with them, think twice before
> embarking. Make sure your ACTUALLY need to tie yourself with such
components
> and the Oracle database... Oracle is not that good, costly... and requires
a
> DBA (Oracle DBAs say Oracle is nice, they just secure their piece of meat
;).
> There are alternative DBs, like InterBase, that can do the job if you do
not
> have to handle thousands of simultaneous accesses or terabyte-sized
databases,
> and for just a fraction of the burden.

> I would also add that if the new DB access in upcoming Delphi is as bad as
> BDE for Oracle, then you will have bragging rights, if they work cleanly
with
> Oracle, you will just have put yourself out of the mainstream for quite
> some time.

> Eric Grange

Re:Delphi and Oracle - newbie question (to Oracle)


Quote
> "I would also add that if the new DB access in upcoming Delphi is as bad as
> BDE for Oracle, then you will have bragging rights, if they work cleanly
> with
> Oracle, you will just have put yourself out of the mainstream for quite
> some time"

> elaborate on this please!!

First, make sure you read the article on dbCLX at http://www.delphi-jedi.org

If Borland fails to deliver stable Oracle drivers in the next version, with the
new structure, you will have made the right choice, because your specific
components will still be working.

If Borland is successfull (and they *must* be, those BDE issues have been
quite an issue for too much time), the new components will become a standard,
cross-platform way of accessing data. All existing apps should be able to
make use of them in a straightforward way, and existing controls will (and
are probably already been rewritten) take advantage of this.
And like with BDE, they will be somewhat binded to using and supporting them,
and providing drivers for the major databases.
Not using them will mean :
- clinging to old versions of Delphi or Borland tools, not good
- having to rewrite/adapt/buy whatever existing or planned functionnality

Basicly using specific components means a partial rewrite of existing code, to
gain immediate functionnality and speed on 1 (one) database.
If later on someone asks you to do, say SQL Server, well, too bad, that is at
least one more partial rewrite and the need to maintain two versions of your
app (or use ugly performance-hungry tricks). This means that you will most
probably stick to your specific solution and won't benefit from mainstream
improvements and tools.
Using standard components means being blocked/limited now, but with
*potentially* brighter skies in the future.
In short, that's a leap of faith, do you trust Borland or a third-party
provider ?

I don't think an 'absolute' answers exists, its all a question of delays, and
needs, quantity of work, available funding etc.
If you're on a tight planning and short-sighted needs ("won't reuse that
code this much" or "will stick forever with Oracle"), go specific, it's the
most efficient way.
If you're planning longtime, connectivity, use of standard tools, maximum
reusability etc. don't go specific, always generic.
If you're in the middle, well... that's the leap of faith.

Perhaps some Borland guy could help me on the *potentially brighter* skies :)

Eric Grange
http://glscene.org

Re:Delphi and Oracle - newbie question (to Oracle)


Chad,

It seems to me that Eric's answers are somewhat tendentious.  You ask
specifically about Oracle, and he gives you a long argument against
using Oracle at all.  Then he gives you a lot of considerations that are
important if you are using more than one database, but you said you're
using Oracle, so much of what he said is simply confusing.

It is perfectly true that D6 will have a new method of Sql database
access, superseding the BDE.  Whether the Oracle part of it will work is
anyone's guess.  In any event, if you need an immediate solution, D6 is
not an option.  DOA provides an immediate, elegant solution.  The
components that interface with the Db-aware controls are TDataset
descendents, so their compatibility with D6 is assured (D6 is not going
to break every single existing Delphi application.)

If you have other considerations, a different solution may be
appropriate.

John Pierce

Re:Delphi and Oracle - newbie question (to Oracle)


Quote
> It seems to me that Eric's answers are somewhat tendentious.

Yes, they definetely are :)

Perhaps I've only seen the darkside of Oracle so far,
but I'm rather counter-impressed so far... slow, bulky and
reduced windows compatibility.

Quote
> Whether the Oracle part of it will work is anyone's guess.
> In any event, if you need an immediate solution, D6 is
> not an option.

Exactly what I think... and fear...

Quote
> DOA provides an immediate, elegant solution.  The
> components that interface with the Db-aware controls are TDataset
> descendents, so their compatibility with D6 is assured (D6 is not going
> to break every single existing Delphi application.)

Not that elegant, you still have to use and set Oracle-specific thingies
everywhere, the only parts that are compatible are the DBControl, and with
Delphi, the DBControl part is the easiest one, Delphi is all about easily
making and maintaining user interfaces.

Linking your controls to the right tables, having efficient queries and
access to stored procedures, ie. the real core of your apps, will be Oracle
and DB components specific. There may be similarities, but not compatibility.

Sure, it won't break with D6, but it will remain database-specific, and the
database specific stuff is the core one.
That was the point I was making.

Eric Grange

Re:Delphi and Oracle - newbie question (to Oracle)


Eric,

Quote
Eric Grange wrote:

> Perhaps I've only seen the darkside of Oracle so far,
> but I'm rather counter-impressed so far... slow, bulky and
> reduced windows compatibility.

I've been using Oracle on NT for over four years, and I certainly find it fast.
It's bulky compared to IB, but not to DB2.  You do get something for that bulk,
such as all those PL/SQL packages.  I don't know what you mean by reduced windows
compatibility.  It certainly runs well on NT.

Quote

> Not that elegant, you still have to use and set Oracle-specific thingies
> everywhere, the only parts that are compatible are the DBControl, and with
> Delphi, the DBControl part is the easiest one, Delphi is all about easily
> making and maintaining user interfaces.

We differ on the Oracle-specific stuff.  One of the things I like about DOA is
precisely that one can set all these parameters.  I was just answering a question
on the BDE newsgroup posted by someone complaining that the BDE set a NUMBER(5)
as a SmallInt.  In DOA you can control the SmallInt threshold.  By compatible, I
mean, "perform the function of" not "are configured identically".

Quote
> Linking your controls to the right tables, having efficient queries and
> access to stored procedures, ie. the real core of your apps, will be Oracle
> and DB components specific. There may be similarities, but not compatibility.

Efficient queries and stored procedures are really database-specific even in the
BDE.

Quote

> Sure, it won't break with D6, but it will remain database-specific, and the
> database specific stuff is the core one.

Not unless you're developing for more than one back end.  If so, it's an almost
insurmountable problem.  But even with the BDE it is very difficult to write
optimum code for more than one back end; e.g., you either don't use stored
procedures or you maintain separate code bases.

John Pierce

Re:Delphi and Oracle - newbie question (to Oracle)


I don't think so.  The TOracleDataset is a descendent of TDataSet but the
TOracleQuery is a descendent of TComponent.

Ping

Quote
Andrew Porter <a...@defsdoor.demon.co.uk> wrote in message

news:KtaPOU8wtjlFhSRvMJ41v32SLWXk@4ax.com...
Quote
> On Mon, 7 Aug 2000 16:48:13 -0400, "Chad Bryant" <c...@wintux.com> wrote:

> >Thanks!!

> >I went to their site.  Is the TOracleDataset a descendent of TDataSet?  I
> >was looking for this to be mentioned on their site.  I assume it is.
(Also,
> >I assume their query component is a descendant of TQuery, etc).

> Yes (TQuery is a dataset too)

> --------------------------------------------------------------------------
-
> Andrew Porter
> http://www.defsdoor.demon.co.uk

Re:Delphi and Oracle - newbie question (to Oracle)


Thanks for all the input.  I see Eric's points and I understand where he's
coming from, but I think John has hit the nail on the head in getting to the
bulk of my question.  I need fast, optimized support for Oracle and only
Oracle.  It's a tradeoff with anyway you go.

Thanks Eric for not just answering my question directly, but giving me other
views that I might not have thought of when forming my initial question.
They all go back to helping me answer my initial question!

Chad

Quote
John Pierce <jpie...@healthplanning.com> wrote in message

news:399041F0.36FF52EB@healthplanning.com...
Quote
> Eric,

> Eric Grange wrote:

> > Perhaps I've only seen the darkside of Oracle so far,
> > but I'm rather counter-impressed so far... slow, bulky and
> > reduced windows compatibility.

> I've been using Oracle on NT for over four years, and I certainly find it
fast.
> It's bulky compared to IB, but not to DB2.  You do get something for that
bulk,
> such as all those PL/SQL packages.  I don't know what you mean by reduced
windows
> compatibility.  It certainly runs well on NT.

> > Not that elegant, you still have to use and set Oracle-specific thingies
> > everywhere, the only parts that are compatible are the DBControl, and
with
> > Delphi, the DBControl part is the easiest one, Delphi is all about
easily
> > making and maintaining user interfaces.

> We differ on the Oracle-specific stuff.  One of the things I like about
DOA is
> precisely that one can set all these parameters.  I was just answering a
question
> on the BDE newsgroup posted by someone complaining that the BDE set a
NUMBER(5)
> as a SmallInt.  In DOA you can control the SmallInt threshold.  By
compatible, I
> mean, "perform the function of" not "are configured identically".

> > Linking your controls to the right tables, having efficient queries and
> > access to stored procedures, ie. the real core of your apps, will be
Oracle
> > and DB components specific. There may be similarities, but not
compatibility.

> Efficient queries and stored procedures are really database-specific even
in the
> BDE.

> > Sure, it won't break with D6, but it will remain database-specific, and
the
> > database specific stuff is the core one.

> Not unless you're developing for more than one back end.  If so, it's an
almost
> insurmountable problem.  But even with the BDE it is very difficult to
write
> optimum code for more than one back end; e.g., you either don't use stored
> procedures or you maintain separate code bases.

> John Pierce

Go to page: [1] [2]

Other Threads