From: Tony Toews [MVP] on
Jason Keats <jkeats(a)melbpcDeleteThis.org.au> wrote:

>> But what about possible security vulnerabilities with Jet 3.5?
>> Highly unlikely I agree but I wouldn't want to run that risk. There
>> have been some vulnerabilities patched with Jet 4.0. It's quite
>> possible those vulnerabilities exist in Jet 3.5 and, if so, they have
>> not been patched.
>>
>> Tony
>
>You probably know that DAO 3.5x supports Access 97/Jet 3.5, while DAO
>4.0 supports Access 2000/Jet 4.0.

Actually that's DAO 3.6 and Jet 4.0.

>The main difference being unicode support and the ability to use ADO.
>
>Although DAO is a bit faster and allows you to modify the database, it's
>not as flexible, or as much fun, as ADO. ADO, of course, was the future
>(until ADO+/ADO.NET).

Yeah some future for ADO, eh? Trouble is Jet 4.0 does not support
ADO. For that you need MDAC, various versions of which come with the
OS, etc, etc.

I don't know enough about ADO to have a comment on all of it's
versioning problems. I've stayed with DAO, unless a client requests
it, just to avoid any possible problems.

Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
For a free, convenient utility to keep your users FEs and other files
updated see http://www.autofeupdater.com/
Granite Fleet Manager http://www.granitefleet.com/
From: Ralph on

"Tony Toews [MVP]" <ttoews(a)telusplanet.net> wrote in message
news:qcgrf5d7qcfkmrkj20bsdiloebbgm3segi(a)4ax.com...
<snipped>
>
> >4) possibily breaking existing client solutions
> >(This latter is more often a problem if the client is using more than one
> >tool for manipulating the database file.)
>
> Only if the clients tools are A97 or older. Which at this point they
> should be well past and at least in the 2003 time frame again due to
> security vulnerabilities.
>

Ghod! I just love it!

Programmers are the hardest-headed critters this side of a DBA.

We know squat about the OP's domain.
We know squat about his clients ...
BUT!
We DO know he ought to be doing THIS and if it breaks THEM, then screw THEM
for not doing THIS!

-ralph


From: Karl E. Peterson on
Ralph wrote:
> "Tony Toews [MVP]" <ttoews(a)telusplanet.net> wrote in message
> news:qcgrf5d7qcfkmrkj20bsdiloebbgm3segi(a)4ax.com...
> <snipped>
>>
>> >4) possibily breaking existing client solutions
>> >(This latter is more often a problem if the client is using more than one
>> >tool for manipulating the database file.)
>>
>> Only if the clients tools are A97 or older. Which at this point they
>> should be well past and at least in the 2003 time frame again due to
>> security vulnerabilities.
>>
>
> Ghod! I just love it!
>
> Programmers are the hardest-headed critters this side of a DBA.
>
> We know squat about the OP's domain.
> We know squat about his clients ...
> BUT!
> We DO know he ought to be doing THIS and if it breaks THEM, then screw THEM
> for not doing THIS!

FNA RIGHT! ;-)
--
..NET: It's About Trust!
http://vfred.mvps.org


From: Marc Henderson on
"Ralph" <nt_consulting64(a)yahoo.com> wrote:

>
>"Tony Toews [MVP]" <ttoews(a)telusplanet.net> wrote in message
>news:qcgrf5d7qcfkmrkj20bsdiloebbgm3segi(a)4ax.com...
><snipped>
>>
>> >4) possibily breaking existing client solutions
>> >(This latter is more often a problem if the client is using more than one
>> >tool for manipulating the database file.)
>>
>> Only if the clients tools are A97 or older. Which at this point they
>> should be well past and at least in the 2003 time frame again due to
>> security vulnerabilities.
>>
>
>Ghod! I just love it!
>
>Programmers are the hardest-headed critters this side of a DBA.
>
>We know squat about the OP's domain.
>We know squat about his clients ...
>BUT!
>We DO know he ought to be doing THIS and if it breaks THEM, then screw THEM
>for not doing THIS!
>
>-ralph
>

Hi Ralph,

My apologies for not describing anything about our database. It's not
a networked db, only single-user.

Could you please elaborate on
>We DO know he ought to be doing THIS and if it breaks THEM, then screw THEM
>for not doing THIS!

If you mean our many previous customers who have a db using DAO 3.51
and we have to 'upgrade' to DAO 3.6, because 3.51 is unsupported in
Win7, that doesn't seem fair to our customers. If we tell them that
you can't use our new version, that doesn't seem fair either. And I'm
not sure what you mean by "We DO know he ought to be doing THIS ,,,."
Can you please be more specific ?

I'm responding to Tony Toews with our experience with DAO 3.6 in a few
minutes. It wasn't pretty.

Marc h. (OP)

From: Marc Henderson on
"Tony Toews [MVP]" <ttoews(a)telusplanet.net> wrote:

>Marc Henderson <genesis77Re-move-this(a)usa.com> wrote:
>
>>>Switch to using Jet 4.0. It is present on Windows 2000 through to
>>>Windows 7. As it is installed with the OS and updated as part of the
>>>OS updates you don't need to worry about installing it.
>>>
>>>Tony
>>
>>Thanks for your quick response, Tony. The problem with switching to
>>Jet 4.0 is that we have many customers now using our app with DAO 3.51
>>and we'd be letting them down if we switched at this point. Also,
>>nobody on our staff is familiar with Jet 4.0. Would it mean that we'd
>>have to change our code, e.g., for SQL queries ?
>
>How would that be letting down your customers? The changes should be
>transparent to your app. It's been a while but I don't recall any
>problems when moving from Access 97 to Access 2000.
>
>Do note though that my expertise is in Access. I'm not a VB expert
>although I'm learning.
>
>>One thing I thought of is switching to DAO 3.6, because it's
>>distributed with Win7 and I seem to remember that there's a utility
>>for converting from DAO 3.5 to 3.6. Do you happen to know if there is
>>such a utility and whether it's distributable ?
>
>No idea. And I don't think there's much of a conversion required
>other than removing the DAO 3.5 reference and putting in the DAO 3.6
>reference. Obviously you'll need to test things out.
>
>Hmm, I forgot about Sandbox mode stuff. Do ensure you test with a bog
>standard user account in Windows to ensure none of the Sandbox
>settings affect you. I don't know if they would or not.
>
>How to configure Jet 4.0 to prevent unsafe functions from running in
>Access 2000 and Access 2002
>http://support.microsoft.com/kb/239482
>
>>Of course the ideal solution would be to get the updated dao350.dll if
>>it really exists. :) There must be some way to contact MS to ask
>>questions like this.
>
>The last one of which I'm aware is
>Jet 3.5 SP3 - msjet35.dll - 3.51.3328.0
>Updated version of Microsoft Jet 3.5 available for download
>http://support.microsoft.com/kb/172733
>The above is dated 1999.
>
>Tony

Tony,

I tried removing the reference to DAO 3.51, and replacing it with 3.6
and had a number of odd experiences. The database appears to work
fine, navigating from record to record works as expected, etc. Then I
tried one of our menu commands: Compact Database. The result was
Err 3356: You attempted to open a database that is already opened
exclusively by user 'admin' on machine 'SERVER4' ...

Before we run 'DBEngine.CompactDatabase sDBPath, sDBCompactPath',
we close the database with CloseDB:
' close the main recordset ( it's declared like this: Global rst
As DAO.Recordset and then Set rst = db.OpenRecordset(strSQL) in
Form1_Load)

rst.Close
Set rst = Nothing

' remove any reference to the Data control
With Form1.Data1
.DatabaseName = ""
.RecordSource = ""
.Recordset.Close
End With

db.Close
Set db = Nothing

DBEngine.Workspaces(0).Close

This has worked flawlessly for years, and I stepped through it and
nothing unusual happened.

To confirm that the database was closed I typed
?DB is nothing
in the debug window
and it returned True

Similar experience when running Form1_Unload:
CloseDB, didn't close the db and left an ldb file lying around.

Plus more oddities that don't seem to be *remotely* related to any db
code.

The obvious question is why is the db not being closed by CloseDB.

I did a lot of reading on the newsgroups, but couldn't find anything
that would explain this.

Any help is much appreciated !

Marc h