Board index » delphi » Delphi 4 and Native MS Access driver

Delphi 4 and Native MS Access driver

I currently have a Delphi 3 application using Opus DirectAccess to access
data that is in a MS Access database.  This application runs in a multi-user
environment.  I would like to upgrade this application to Delphi 4 and use
Borland's Native MS Access driver instead of Opus, because I need to
interact with another application that is using a BDE alias.  Are there any
issues that anyone has come across with using the native driver?  How about
speed/reliability in a multi-user environment?

Any comments that can be provided would be great.

TIA,
--Eric

==========
Remove the "_NOSPAM_" to reply to me via email.

 

Re:Delphi 4 and Native MS Access driver


On Wed, 13 Jan 1999 13:23:23 -0500, "Peak Technologies"

Quote
<eric_NOSP...@net.local> wrote:
>I currently have a Delphi 3 application using Opus DirectAccess to access
>data that is in a MS Access database.  This application runs in a multi-user
>environment.  I would like to upgrade this application to Delphi 4 and use
>Borland's Native MS Access driver instead of Opus, because I need to
>interact with another application that is using a BDE alias.  Are there any
>issues that anyone has come across with using the native driver?

You can have problems deploing the app, depending the version of
Access you are using.

Quote
>  How about speed/reliability in a multi-user environment?

I've experienced some Table locking errors ("Table XXX is locked by
user ADMIN"). ODBC seems to work much better in a multi user
environment, but problems with autoinc fields, Lookup fields and
indexes started to appear connecting with ODBC. So I'm using the
Native driver.
Quote
>Any comments that can be provided would be great.

Re:Delphi 4 and Native MS Access driver


Quote
Peak Technologies wrote in message <369ce4f...@news.digicon.net>...
>I currently have a Delphi 3 application using Opus DirectAccess to access
>data that is in a MS Access database.  This application runs in a
multi-user
>environment.  I would like to upgrade this application to Delphi 4 and use
>Borland's Native MS Access driver instead of Opus, because I need to
>interact with another application that is using a BDE alias.  Are there any
>issues that anyone has come across with using the native driver?  How about
>speed/reliability in a multi-user environment?

>Any comments that can be provided would be great.

>TIA,
>--Eric

>==========
>Remove the "_NOSPAM_" to reply to me via email.

I have had no end of troulbe trying to read Access databases.  The problem
lies with DOA (can't for the life of me remember what that stands for
though).

BDE will only support DOA 3.0 and Office 97/2000 etc use DOA 3.5

This is no problem if you have an old version of Office 95 (or access 95)
because the DOA versions can both reside on the same machine.  I belive
there may be some problems looking at some particular attributes in Access
databases created in Access 97 or later.

Glen.

Re:Delphi 4 and Native MS Access driver


Quote
Glen Kleidon wrote in message <916291873.603...@terra.ultra.net.au>...

>I have had no end of troulbe trying to read Access databases.  The problem
>lies with DOA (can't for the life of me remember what that stands for
>though).

Actually, it's DAO - Data Access Objects.  For my current project, I read
and write tables created with Access 97, and have no problems at all.

Quote
>BDE will only support DOA 3.0 and Office 97/2000 etc use DOA 3.5

Not so.  If you look at the BDE Admin program, under
Configuration/Drivers/Native/MSACCESS, you'll find a setting for DLL32.  If
you have DAO 3.5 installed, you can select IDDA3532.DLL under this option.
The corresponding DLL for DAO 3.0 is IDDAO32.DLL.  (You may (or may not)
need the latest version (Version 5.?) of the BDE, but this is either
standard with Delphi 4, or it comes with the updates).

Quote
>This is no problem if you have an old version of Office 95 (or access 95)
>because the DOA versions can both reside on the same machine.  I believe
>there may be some problems looking at some particular attributes in Access
>databases created in Access 97 or later.

I think there may be some problems accessing some of the upgraded security
attributes added in Access 97 - however, as long as you're not using these
options, you can read and write Access 97 tables without problem.

--
Dave White
SpectraChrom Software
www.spectrachrom.com

Re:Delphi 4 and Native MS Access driver


The things I've run into are, problems making sure DAO, (not DOA, that's
another great but unfortuately named product for Oracle access), are
installation, making sure EVERYTHING is installed, and not clobbered if you
upgrade Office, and DAO doesn't support multi-threaded access.
Mike

Quote
Andrew Baylis wrote in message <77lvlp$q8...@possum.melbpc.org.au>...
>I too, have had no problems working with Access databases - I am currently
>working with one containing 100,000 records in 25 separate tables.
>I have found that the SQL queries work rather slowly - in fact using tables
>in a master-detail relationship is considerably faster.
>One big gripe is that there is no easy way to create an Access database
from
>scratch. Sure, you can add / delete / modify a table in an existing
databse,
>but creating one... The best I have come up with is to use DAO calls using
>the dbEngine (messy). Has anyone else had more luck?

>Andrew
>andrewbay...@cheerful.com

>Dave White wrote in message ...
>>I think there may be some problems accessing some of the upgraded security
>>attributes added in Access 97 - however, as long as you're not using these
>>options, you can read and write Access 97 tables without problem.

>>--
>>Dave White
>>SpectraChrom Software
>>www.spectrachrom.com

Re:Delphi 4 and Native MS Access driver


I too, have had no problems working with Access databases - I am currently
working with one containing 100,000 records in 25 separate tables.
I have found that the SQL queries work rather slowly - in fact using tables
in a master-detail relationship is considerably faster.
One big gripe is that there is no easy way to create an Access database from
scratch. Sure, you can add / delete / modify a table in an existing databse,
but creating one... The best I have come up with is to use DAO calls using
the dbEngine (messy). Has anyone else had more luck?

Andrew
andrewbay...@cheerful.com

Quote
Dave White wrote in message ...
>I think there may be some problems accessing some of the upgraded security
>attributes added in Access 97 - however, as long as you're not using these
>options, you can read and write Access 97 tables without problem.

>--
>Dave White
>SpectraChrom Software
>www.spectrachrom.com

Re:Delphi 4 and Native MS Access driver


[copious cross-posting snipped]

Quote
>No easy way to create an Access database from scratch.
>Sure, you can add / delete / modify a table in an existing
>databse, but creating one... The best I have come up
>with is to use DAO calls using the dbEngine (messy).

Nothing wrong with doing via DAO.  And since speed
wouldn't be an issue for 1-off table creation you could
write it very concisely using variants.

However in general I'd recommend creating the table
manually using Access and saving an "empty" database
which your code merely fills.  I realise there are odd
occasions when this isn't possible, but (having done
serious restructuring a while back with both
Paradox and DAO) I've reached the conclusion that
restructing tables on-the-fly isn't good practice and
should be avoided if at all possible.  For one thing
your code almost certainly won't be portable to
other database platforms.  It also opens a can
of worms when your code has to adapt to
different schemas at runtime; just because it's
possible doesn't mean it's good design.

Good luck.

Re:Delphi 4 and Native MS Access driver


I have developed an application that uses a Access 97 Native driver.  This
works fine until I try to install it onto a computer that doesn't have
Access 97 installed on it. I get the error - "Cannot load an idapi service
library" "file : idda3532.dll". This file exists. Has anyone come accross
this problem before??

Thanks in advance.

Stewart.

Re:Delphi 4 and Native MS Access driver


You need to make sure that:
    1. The registry entry points to the correct directory.
    2. The BDE Access DLL32 info contains the correct file name.

--

Woody

Quote
Stewart Dobrzynski <abc...@abcom.com.au> wrote in message

news:780vjt$8n5$1@reader1.reader.news.ozemail.net...
Quote
>I have developed an application that uses a Access 97 Native driver.  This
>works fine until I try to install it onto a computer that doesn't have
>Access 97 installed on it. I get the error - "Cannot load an idapi service
>library" "file : idda3532.dll". This file exists. Has anyone come accross
>this problem before??

>Thanks in advance.

>Stewart.

Re:Delphi 4 and Native MS Access driver


I checked both these things and they are OK

Any other suggestions.

Stewart

Quote
Woody wrote in message <781ouc$mc...@remarQ.com>...
>You need to make sure that:
>    1. The registry entry points to the correct directory.
>    2. The BDE Access DLL32 info contains the correct file name.

>--

>Woody

Re:Delphi 4 and Native MS Access driver


The only next step that I can think of checking is to make sure that the DAO
3.5 software is installed correctly. If you have Access 97, try
re-installing it. If you don't, check out the faq at
http://members.xoom.com/islamov/diamond/q&a.html

Maybe something there will get you going in the right direction.

--

Woody

Quote
Stewart Dobrzynski <abc...@abcom.com.au> wrote in message

news:783fke$jf6$1@reader1.reader.news.ozemail.net...
Quote
>I checked both these things and they are OK

>Any other suggestions.

>Stewart

>Woody wrote in message <781ouc$mc...@remarQ.com>...
>>You need to make sure that:
>>    1. The registry entry points to the correct directory.
>>    2. The BDE Access DLL32 info contains the correct file name.

>>--

>>Woody

Re:Delphi 4 and Native MS Access driver


The Delphi Native MS Access Driver uses DAO to talk to Access.  That
means that DAO (3.5 for Access 97) has to be legally installed on the
client machine.  Just installing your application and the MSACCESS
driver won't work.

On Tue, 19 Jan 1999 14:55:17 +1100, "Stewart Dobrzynski"

Quote
<abc...@abcom.com.au> wrote:
>I have developed an application that uses a Access 97 Native driver.  This
>works fine until I try to install it onto a computer that doesn't have
>Access 97 installed on it. I get the error - "Cannot load an idapi service
>library" "file : idda3532.dll". This file exists. Has anyone come accross
>this problem before??

>Thanks in advance.

>Stewart.

==================================
Ray Porter
Applications Analyst Programmer
Administrative Information Services
The University of North Carolina at Chapel Hill
Phone: 919-966-5878
Home Page: http://www.unc.edu/~dragon/

"Meddle not in the affairs of dragons,
for you are crunchy and taste good with ketchup."

Re:Delphi 4 and Native MS Access driver


Stewart,

If you have one of these things, I would suggest that you do this - It
will save you a lot of hair-pulling:

If you own VB 5 or 6, or MS Vis C++, create a simple DB app that
references the DAO.  Create an installation program from VB or C++.
Install the program and then uninstall the program.  That will take
the overhead out but leave the DAO.  Or, if you want, you can leave it
in there.

If you don't have it, email me and I'll email you something to use.

Just my two cents.

Douglas G. Phillips, Owner
Simple Business Solutions

Custom Solutions to Meet Your Needs

On Tue, 19 Jan 1999 14:55:17 +1100, "Stewart Dobrzynski"

Quote
<abc...@abcom.com.au> wrote:
>I have developed an application that uses a Access 97 Native driver.  This
>works fine until I try to install it onto a computer that doesn't have
>Access 97 installed on it. I get the error - "Cannot load an idapi service
>library" "file : idda3532.dll". This file exists. Has anyone come accross
>this problem before??

>Thanks in advance.

>Stewart.

Other Threads