DAO, JET and ADP

S

Stapes

Hi
I have been FLAMED on this group for using DAO. I must admit, I know
nothing at all about it. The databases I have been working on were
built by somebody else before I started working here. I have just got
the job of maintaining & repairing them. It is not part of my job to
rewrite the whole thing. But for new development, I am keen to use the
latest technology where possible.
Where can I find out about ADP? If DAO is deprecated, what should I be
using?

Stapes
 
A

aaron.kempf

you should be using ADO

DAO hasn't been included with Office, MDAC or Windows for a decade

ADP = FILE, NEW, PROJECT (EXISTING DATA)
I reccomend the latest MS Press Book on Access Data Projects



and ADO is a wonderful language
the thing that drives me INSANE with DAO is that it's ridiculously
difficult to add fields to a table, etc

and you shouldn't ever have to explicitly .CLOSE and Set rst = nothing

DAO is a memory leak; it is still a memory leak 10 years after being
obsolete; Microsoft still can't fix a memory leak problem

www.w3schools.com has some nice editorials on ADO I believe
 
B

Brendan Reynolds

Stapes said:
Hi
I have been FLAMED on this group for using DAO. I must admit, I know
nothing at all about it. The databases I have been working on were
built by somebody else before I started working here. I have just got
the job of maintaining & repairing them. It is not part of my job to
rewrite the whole thing. But for new development, I am keen to use the
latest technology where possible.
Where can I find out about ADP? If DAO is deprecated, what should I be
using?

Stapes


Ignore the person who flamed you. Microsoft stopped advising people to use
ADPs instead of MDBs and ADO instead of DAO years ago. Check out the
following TechNet article ...

http://technet2.microsoft.com/Offic...ba1c-446a-8ff2-221769a58ba51033.mspx?mfr=true
 
T

Tony Toews [MVP]

Stapes said:
I have been FLAMED on this group for using DAO. I must admit, I know
nothing at all about it. The databases I have been working on were
built by somebody else before I started working here. I have just got
the job of maintaining & repairing them. It is not part of my job to
rewrite the whole thing. But for new development, I am keen to use the
latest technology where possible.
Where can I find out about ADP? If DAO is deprecated, what should I be
using?

The person flaming you is the only person with his opinions. DAO is
just fine as are MDBs. ADPs do have their purpose but they're not
that useful. It is definitely not worth any time converting DAO code
to ADO or convert MDBs to ADPs.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
D

David W. Fenton

I have been FLAMED on this group for using DAO.

By an obnoxious twit whose entire contribution to this newsgroup is
flaming other people for giving good advice. Oh, yes, his other
contribution is including at least one nugget of factually incorrect
information in each of his posts.

Pay no attention to Aaron Kempf or any of his multiple alter eagos.
I must admit, I know
nothing at all about it.

You probably know more about it than Aaron does.
The databases I have been working on were
built by somebody else before I started working here. I have just
got the job of maintaining & repairing them. It is not part of my
job to rewrite the whole thing. But for new development, I am keen
to use the latest technology where possible.
Where can I find out about ADP? If DAO is deprecated, what should
I be using?

Here's some information about ADPs, from Microsoft's own
documentation:

From
http://technet2.microsoft.com/Office/en-us/library/1dce641e-ba1c-446a
-8ff2-221769a58ba51033.mspx?mfr=true :

Access Data Projects (ADPs)

An Access Data Project is an OLE document file, like the .xls
or.doc file formats. It contains forms, reports, macros, VBA
modules, and a connection string. All tables and queries are
stored in SQL Server. The ADP architecture was designed to create
client-server applications. Because of this, there is a limit to
the number of records that Access returns in any recordset. This
limit is configurable, but you typically must build enough
filtering into your application so that you do not reach the
limit.

Access uses OLEDB to communicate with SQL Server. To provide the
Jet-like cursor behavior desired for desktop applications, Access
implements the Client Data Manager (CDM) as an additional layer
between Access and OLEDB.

Because of the layers required to get from Access to SQL Server in
the ADP architecture, it is often easier to optimize MDB/ACCDB
file solutions. However, there are some scenarios where a report
might be generated significantly faster in an ADP file. To add
these performance improvements and retain the flexibility of SQL
Server, you can build the majority of the application in an MDB or
ACCDB file and have the file load reports from a referenced ADP
file.

One advantage that ADP files have over files in MDB or ACCDB
format is the ability to make design changes to SQL Server
objects. ADP files include graphical designers for tables, views,
stored procedures, functions, and database diagrams.

So, it's pretty clearly that ADPs are no longer Microsoft's
preferred method for building front ends for SQL Server databases,
for the reasons outlined above.

Just killfile Aaron and all of his alter egos -- you will lose not
one bit of useful information by doing so.
 
H

Heywould

WTF are you talking about Brendan

do you have this in writing?

'years ago' specifically?

I've never heard anywhere thaty Microsoft advises people to use DAO.

STFU and stop spreading mis-information
 
H

Heywould

it is ALWAYS worth an hour or two to convert existing MDB applications to
ADP format

maybe you just need to learn SQL Server, kid
 
A

aaron.kempf

Brendan

I'm so sorry that there is ONE PERSON AT MICROSOFT THAT PROMOTES MDB

I know first hand that ADP is a vastly superior system


just let me know when you guys want me to start preaching openOffice
against mySql-- because every other vendor has something just like ADP
 
A

aaron.kempf

I'm not the only person with these opinions

REAL PROGRAMMERS MOVED FROM DAO TO ADO TO ADO.NET A LONG TIME AGO
I JUST REFUSE TO USE ADO.NET FOR TWO REASONS:

a) CANNOT KEEP A CONNECTION OPEN
b) CANNOT OPEN TWO RECORDSETS OVER THE SAME CONNECTION

it's pretty darn simple math, kids

ADP is a great solution; and MDB isn't reliable enough for real world
usage
 
A

aaron.kempf

FLAMING PEOPLE FOR GIVING 'GOOD ADVICE'?

GOOD ADVICE DOES NOT MEAN CONSTANT WORKAROUNDS AND PASSING THE BUCK

WHY DOES MDB NOT WORK OVER VPN?
IS IT THE NETWORKS FAULT?

ADP WORKS OVER VPN, IT IS RELIABLE AND SCALABLE



Eat a dick, monkey boy
 
A

aaron.kempf

DAVID

THIS:

Because of the layers required to get from Access to SQL Server in
the ADP architecture, it is often easier to optimize MDB/ACCDB
file solutions.

IS BLATANT FUCKING CRAP

BECAUSE OF THE LAYERS?

BECASE OF THE LAYERS?

BECAUSE OF THE LAYERS THAT LET ME USE SQL PROFILER BUT YOU CANNOT?
BECAUSE OF THE LAYERS THAT MAKE MY DATABASE EASIER TO INDEX CORRECTLY?


that is the stupidest fucking quote I've ever heard in my life
'because of the layers'

BECAUSE OF THE LAYERS, ADP IS SIMPLER!
 
A

aaron.kempf

AND DAVID?

WHAT ABOUT THE NEXT SENTENCE

ADP TYPICALLY GIVE VASTLY SUPERIOR PERFORMANCE FOR REPORTING
SOLUTIONS?

WHY DID YOU LEAVE THAT IMPORTANT TIDBIT ALSO?

ALSO 'ADP NEVER HAS ANY LOCKING PROBLEMS'

DID YOU FORGET ABOUT THAT??





O
 
S

Stapes

Well, I am still no wiser.

Can I get the definitive lowdown on this succession of technologies,
starting with JET. I just want to know where to begin now with any new
development I am doing. What is the "state of the art'?

Stapes
 
B

Brendan Reynolds

Stapes said:
Well, I am still no wiser.

Can I get the definitive lowdown on this succession of technologies,
starting with JET. I just want to know where to begin now with any new
development I am doing. What is the "state of the art'?

Stapes


There is no one-size-fits-all solution. JET, SQL Server, DAO, ADO and
ADO.NET all have their uses. There are situations in which one technology is
clearly the better choice, and there are also many situations in which it
doesn't matter which one you choose.

If you do not have an existing investment in ADPs, then I would strongly
advice you not to begin investing time and effort in ADPs now. It is very
clear that Microsoft are not going to develop ADPs any further. This has, in
my opinion, been obvious since the release of Office XP. It certainly became
glaringly obvious with the release of Office 2003. Office 2007 further
confirms this conclusion, if any confirmation were required.

As for the "state of the art", I neither know nor care what is considered
the "state of the art" this week. The one thing of which I am absolutely
certain is that, whatever it may be, it will not remain the "state of the
art" for very long.
 
D

David W. Fenton

Can I get the definitive lowdown on this succession of
technologies, starting with JET. I just want to know where to
begin now with any new development I am doing. What is the "state
of the art'?

ADP
An Access file format that serves as a front end to SQL Server using
OLEDB/ADO. Microsoft is deprecating it in favor of MDBs/ODBC. It may
disappear entirely in a couple of Access versions.

ADO
A replacement for ODBC that was well-designed, but that was
mispromoted by Microsoft in the release of Access 2000. MS
wrongly made it the default programmatic interface for *all*
data, including Access's native Jet, which was a mistake. By Access
2003, MS had reversed course. ADO is now obsolete in that it has
been completely superseded by the largely incompatible ADO.NET,
which cannot be used in Access at all.

ADO.NET
A new replacement for ODBC that is largely only used in .NET and
with ASP.NET. It is not supported by Access. It is not clear that it
ever will be, unless VBA in Access is replaced by VBA.NET (which
doesn't yet exist).

DAO
Jet's native programmatic data interface. Microsoft's original plan
starting with Access 2000 was to entirely retire Jet in favor of SQL
Server, so Jet 4 was said to be the last version of Jet and DAO 3.6
the last version DAO. Jet/DAO were said to be in maintenance mode.
The only thing keeping Jet alive was that Jet is used as the data
store for Active Directory in Windows Server. However, with Access
2007, MS has changed direction, and given new life to Jet. They took
the Jet 4 codebase and built a new version of Jet that goes by the
name ACE. Along with that comes a new version of DAO.

The future of Access development is DAO, not ADO.

The future for front ends to SQL Server is MDB/ODBC or ACCDB/ODBC.

Of course, the *past* of Access development with Jet back ends was
always DAO and not ADO, despite MS's machinations to try to kill
Jet.
 
S

Stapes

Hi

Am I to understand, then, that it is better to build our back ends in
SQL Server than to use Access, using Access only for the front end?

What are the benefits of this?

Yours,

Stapes
 
D

David W. Fenton

Am I to understand, then, that it is better to build our back ends
in SQL Server than to use Access, using Access only for the front
end?

What are the benefits of this

No, you shouldn't understand that from what my message said.

That depends entirely on the specific application, the user
population, the development budget, the maintenance budget, the IT
infrastructure and a whole host of other things.

The vast majority of the apps I've created for my clients over the
last 11 years use a Jet back end. SQL Server is only used in a
couple of apps that outgrew the Jet back end.
 
Top