R
Robert Morley
David said:I suspect that it's a matter of expections.
If you're an enterprise developer who had never used Access as a
front end, ADPs were probably a great step up from the tools
available before MS introduced them.
On other hand, if you were an experienced Access developer, you
likely found all sorts of inconsistencies in the implementation, as
well as many holes, i.e., things that MDBs made easy, and which ADPs
made much harder.
In my case, however, I was the opposite. I've never been an Enterprise
developer, only an Access developer. When I upsized to SQL Server, I found
that ADPs were far and away better than the clunkiness of using linked
tables and pass-through queries. Were there things that didn't work quite
like they should? Yeah, sure...but at least for me, they were few and far
between, and nothing that a little coding around couldn't solve.
That decision has served me well,
as I now have SQL Server projects that were upsized from a Jet back
end and the MDB app required only minor tweaking to get things
running well with SQL Server.
This, at least, I can agree with. Going from DAO to ADO (my first step)
required a fair bit of re-coding, then going from ADO using Index/Seek
(since I'd been misled as to the capabilities of ADO w. SQL Server) to
queries or Find/Filter was another nightmare. SOME of that, at least, would
have been eliminated with going to an ODBC model, though probably not all
that much in the end.
Then, of course, there was the change in logic involved with assuming that
all objects are local and fast vs. all objects being remote. Suffice to
say, that was a learning experience.
That switch makes no sense to me. I don't see any reason why
shouldn't have just ported the MDB to SQL Server and revised where
necessary.
Well, a large part of it was that DAO, in my experience, is a little limited
when it comes to linked tables. ADO pretty much allows you to maintain
identical code, changing only your connection string, and maybe one or two
other things (at least once I wrapped my head around the Seek/Index issue
and fixed all those up). Of course, some of the functionality of ADO is
better as well, which was a significant factor for me as well. The
functionality of Filter in DAO seems truly primitive, and the inability to
open connections and/or recordsets asynchronously is also rather annoying at
times.
Well, remember, that there's an additional layer in between the ADP
and ADO that most promoters of ADPs seem to pretend doesn't exist,
and probably that's the layer that was causing the problems (i.e.,
the attempt to bypass secured views and use the underlying tables
directly).
That's exactly what I was getting at. ADO itself seems fairly reliable,
and I don't believe it "guesses" at how to execute your SQL in any
significant way (unlike the layer behind ADPs).
As for the whole guessing game that ADPs play, as I said, I think that
should've been removed for increased reliability/stability. It's just
always seemed a little silly to me that you would deconstruct something that
presumably already works correctly, simply to access tables directly! I
mean, if a view is already alterable, what need is there to access the
table? (And if it's not, it presumably wasn't meant to be!) Bad design
choice in my books...but hey, I certainly wasn't on the design team so I
don't know what the challenges were.
I believe it was an attempt to make result sets writable that would
otherwise be read-only. I also think it's related to the whole
disconnected recordsets technology.
Yeah, and that gets back to what I said above. If a View isn't writable in
the first place, an ADP shouldn't take it upon itself to bypass it! I don't
believe ADPs use disconnected recordsets, though...at least not on the
surface. If they do so behind the scenes, then maybe they should've relied
more on ADO to do it, as I've never had any tremendous difficulties with
them via ADO.
I guess what I'm getting at is that ADPs were poorly thought out, but rather
than re-think the problem and get rid of what doesn't work to come out with
a better model, MS simply said "The 15-year old technology works well
enough. We'll just assume everybody will settle for that, or maybe give up
on the program that's designed from the get-go to be a database front end
and go with the exceptionally slow bloatware we call VB.NET". Ummm...no!
It's the views issue that I recall causing the most complaints. Of
course, I got all of it second hand, as I wasn't doing them myself.
But when someone as brilliant as Steve Jorgensen works at ADPs for
several years and then gives up on them in disgust, it's a pretty
important data point to me.
Yes, views were certainly almost as much of a problem as SPs were, but at
least in my experience, with a little trial and error, they could usually be
made to work.
As to the brilliance of any programmer, I think a lot of it is dictated by
the direction of the company and/or the managers. If they don't understand
why something can't work the way it's written, they can force the programmer
into an inappropriate design that doesn't have a hope in hell of ever
working well. I suspect that's where ADPs went, possibly combined with the
tunnel vision of "MDB vs. ADP" instead of focussing on using the best of
both worlds.
Well, I completely disagree with that. I think he's a great guy who
has enormous integrity, as well as the technical chops. That he's no
diplomat bothers me none at all (speaking as another nondiplomat!).
There's a difference between not being a diplomat and eviscerating those who
have a different viewpoint. While I've only had one such incident with him
(and it was enough), I've heard of several others (and I've heard some
suggest even MS themselves, though he addresses some of that on his website
with the "former MVP" thing) who are utterly unable to work with him.
You must hang out in different newsgroups than I do, because among
the MVPs that I know (electronically), he's very respected and
well-liked (and sorely missed in the Access newsgroups).
Possibly, although I also don't know many people who will randomly post "hey
I really love this guy who hasn't posted here in years" to a newsgroup, so
it's possible that he IS well-loved by many and I just don't know about it.
Still, I've brought up my dislike of him before on one or two occasions
in Access newsgroups and the number of people rushing to his defence has
been truly underwhelming.
To quote from his website (http://www.trigeminal.com/michka.asp, last para),
"Yet another question I am frequently asked, especially by people who see me
in the newsgroups, is why am I so angry all the time? The truth is that I am
not all that angry. I think that the reason I am not angry is because I do
not leave frustrations bottled up inside of me, I let them right out. That
and my passion for my work is often mistook as anger. In person, I can be a
real pussycat, sometimes."
Well, I admit I've never met him in person, but if one of the frequently
asked questions about you is "why are you so angry all the time" (to the
point where you feel the need to specifically address it on your website),
well, I don't think there's much more I need to say.
He had some really telling criticisms of Access 2000, particularly
ADPs and DAPs (as well as the whole ADO thing). Unfortunately, the
article is not available online so I can't point you to it.
I'm pretty sure I've read it before...it certainly sounds familiar. And
while I may not like him, and I may think ADPs need another chance (with
some admittedly significant alteration/removal of code under-the-hood), I
will whole-heartedly agree that DAPs were an utter disaster! said:I think it's a terrible thing to evaluate the case made by someone
on the basis of whether you like them or not. If what they say is
well-argued and fact-based, seems to me that your personal dislike
for them should be irrelevant.
Actually, I said that I wouldn't be surprised if he was right. I may not
like him, but I acknowledge that he is more skilled than I will ever be when
it comes to databases, particularly when it comes to the behind-the-scenes code.
My point was not that I *decided* based on my opinion of him, just that I
rarely ever read his stuff *because* of my opinion of him. When I have read
his stuff, I find his facts to be generally undisputable, but his
opinionatedness is something else again. Just give me the facts and let me
draw my own conclusions about how they will affect my business decisions.
I of course read information from several other sources when I was
considering the changeover, so it's not like I made a blind decision just
because I didn't read everything he had to say about the subject.
Rob