Database communication not working

A

Amy Blankenship

Hi, all;

I have a piece of software that I have built that tracks user interaction to
an Access database that gets installed to the user's computer in their
UserApplicationData folder. For one user, I have been able to determine
that the software is not able to communicate with the database. I have
verified that the user has Jet 4 installed and that he is on XP SP2.

Does anyone have any idea what might cause a failure in the Jet drivers?

Thanks;

Amy
 
T

Tony Toews [MVP]

Amy Blankenship said:
I have a piece of software that I have built that tracks user interaction to
an Access database that gets installed to the user's computer in their
UserApplicationData folder. For one user, I have been able to determine
that the software is not able to communicate with the database.

What do you mean by not communicate? Is there an error message of
some sort?

Are you used drive letters? Does that person have a different drive
letter assigned?
Does anyone have any idea what might cause a failure in the Jet drivers?

We don't yet know if this is a failure in the Jet DLLs.

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
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
A

Amy Blankenship

Tony Toews said:
What do you mean by not communicate? Is there an error message of
some sort?

The language I wrote it in does not show errors unless you specifically ask
it to, so if there are messages users are not able to report them. I wrote
a quick and dirty diagnostic application for the guy, but I had about a 45
minute window to get the diagnostic to him, so error messages didn't make it
in. Realistically, I probably won't have an opportunity to improve it for
him.

By not communicating, I mean if I run a query guaranteed to return results,
nothing happens.
Are you used drive letters? Does that person have a different drive
letter assigned?

I am using the system enviromnent variable for the UserApplicationData
folder.

Typically, when the component I used to make the connection fails, it is
because the path to the database is too long. I have verified that this is
not the case in this instance. Is there any sort of weird obscure
permissions thing that might be coming into play? It is a DSN'less
connection.

Thanks;

Amy
 
T

Tony Toews [MVP]

Amy Blankenship said:
The language I wrote it in does not show errors unless you specifically ask
it to, so if there are messages users are not able to report them. I wrote
a quick and dirty diagnostic application for the guy, but I had about a 45
minute window to get the diagnostic to him, so error messages didn't make it
in. Realistically, I probably won't have an opportunity to improve it for
him.

Well, without any error messages we can't do diagnose the problem as there could be
thousands of reasons.

Also error handling to at least display an error message is a requirement IMNSHO.
I am using the system enviromnent variable for the UserApplicationData
folder.

Using the Environ command? What is the value of that variable>
Typically, when the component I used to make the connection fails, it is
because the path to the database is too long. I have verified that this is
not the case in this instance. Is there any sort of weird obscure
permissions thing that might be coming into play? It is a DSN'less
connection.

Without an error message I can't be of any further assistance. Well, I could but
then I could write hundreds of paragraphs of the possible cause. I'm not willing to
do that and you're not willing to try hundreds of different things.

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
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
A

Amy Blankenship

Tony Toews said:
Well, without any error messages we can't do diagnose the problem as there
could be
thousands of reasons.

Also error handling to at least display an error message is a requirement
IMNSHO.

It does display error messages, just not for this. For instance, if a user
is not found it will display an error. However, no communication with the
database at all is nothing I'd ever thought would happen. If I'd displayed
error messages for each and every ODBC failure during development, my client
would have freaked out. And you don't send out shrink wrapped packages with
debug messages in them.
Using the Environ command? What is the value of that variable>

Using a third party Xtra. The value is something like C:\Documents and
Settings\User Name Goes here\Application Data
Without an error message I can't be of any further assistance. Well, I
could but
then I could write hundreds of paragraphs of the possible cause. I'm not
willing to
do that and you're not willing to try hundreds of different things.

I'm plenty willing. I doubt the end user is. Do you have some pointers at
least to get me looking in the right direction? I don't need everything
spelled out for me, but a few clues of some keywords and search terms that
might be helpful would at least be more than I have now.

-Amy
 
D

David W. Fenton

I have a piece of software that I have built that tracks user
interaction to an Access database that gets installed to the
user's computer in their UserApplicationData folder. For one
user, I have been able to determine that the software is not able
to communicate with the database. I have verified that the user
has Jet 4 installed and that he is on XP SP2.

From other posts in the thread, it's clear you're using ODBC to
communicate with the data. Thus, you are not using Access for the
front end. ANd that means that your statement that you're
interacting with an Access database is false -- you are not using
Access at all (though you may have used Access to create the MDB),
but you are using Jet.

Those are important details that you need to spell out to get help
when posting to an Access newsgroup.

It is unlikely that your problem has anything at all to do with Jet,
in my opinion, and is entirely something wrong in your program,
whatever language you happen to be using to write it.
 
A

Amy Blankenship

David W. Fenton said:
From other posts in the thread, it's clear you're using ODBC to
communicate with the data. Thus, you are not using Access for the
front end. ANd that means that your statement that you're
interacting with an Access database is false -- you are not using
Access at all (though you may have used Access to create the MDB),
but you are using Jet.

I did say I was using Jet.
Those are important details that you need to spell out to get help
when posting to an Access newsgroup.

"Those" is a pronoun you are using here, apparently without an antecedent.
I can't really provide "those" details without knowing which details you
actually want.
It is unlikely that your problem has anything at all to do with Jet,
in my opinion, and is entirely something wrong in your program,
whatever language you happen to be using to write it.

Why are you posting to this thread? I am specifically asking for theories
of what could be wrong on the Jet side. I am a world recognized expert in
the software I used to write the program. Therefore, there is no one I can
ask about problems on that side. I am relatively inexperienced with Access
and Jet, so I am coming to gather more information on the part of the
equation where there are people available who know more about the situation
than I do. So if you have some helpful theory to add, great. Please do so.
But if you're just posting to say I'm an idiot to be asking questions,
please don't bother.

Thanks;

Amy
 
D

David W. Fenton

I did say I was using Jet.

If you were using Access, you could be using Jet, too. The key point
is that you are *not* using Access, which was not made clear.
"Those" is a pronoun you are using here, apparently without an
antecedent. I can't really provide "those" details without knowing
which details you actually want.

Here are some suggestions:

1. what language/platform you are programming in.

2. what errors you are getting

3. what database engine you are using.

You provided the last, mixed in with claims of using Access, which
implies an incorrect answer to #1, which is why someone asked you if
you were using Environ(), which is a VBA command.
Why are you posting to this thread? I am specifically asking for
theories of what could be wrong on the Jet side.

And from what you've said, I'm telling you that it's unlikely to be
a Jet problem.
I am a world recognized expert in
the software I used to write the program.

Oh, I BOW DOWN TO YOUR EXPERTISE!!!!!!!
Therefore, there is no one I can
ask about problems on that side. I am relatively inexperienced
with Access and Jet, so I am coming to gather more information on
the part of the equation where there are people available who know
more about the situation than I do. So if you have some helpful
theory to add, great. Please do so. But if you're just posting to
say I'm an idiot to be asking questions, please don't bother.

If you're such a great programmer, why have you written a program
that doesn't report error messages from the components you are
using? That's completely idiotic and unprofessional.

Nobody can help you at all until you have identified the error that
is occuring.

It's that simple.
 
A

Amy Blankenship

David W. Fenton said:
If you were using Access, you could be using Jet, too. The key point
is that you are *not* using Access, which was not made clear.

The database driver I am using is Microsoft Access Driver (*.mdb). So
whoever named the drive clearly _does_ consider the driver to be to a
Microsoft Access database, however _you_ care to argue the semantics of the
situation.
Here are some suggestions:

1. what language/platform you are programming in.

Macromedia Authorware. I didn't expect that anyone here would have ever
used it or know its characteristics, so it didn't seem relevant.
2. what errors you are getting

None. It is not possible to get at that information.
3. what database engine you are using.
Jet.

You provided the last, mixed in with claims of using Access, which
implies an incorrect answer to #1, which is why someone asked you if
you were using Environ(), which is a VBA command.

I am using an access database (tables contained in an mdb file, if for
whatever reason you don't consider that to be an Access database) as the
data source for an exe that is not an access database.

Well that's interesting, but the question was actually if it is a Jet
problem, what could it potentially be? So regardless of whether I am
correct or not correct I need to research the possible issues that could be
causing it. I don't need a complete primer on all causes, just some
pointers on areas to search. Sometimes the right search term can make all
the difference.
And from what you've said, I'm telling you that it's unlikely to be
a Jet problem.

I am aware that you are telling me that. However, just because you are
telling me that doesn't mean you're right. I'm not always 100% right in all
the answers I give in the areas where I am an expert. Sometimes it's a
situation I have not encountered yet or something I have incompletely
understood. Are you _so_ perfect then that you are _sure_ it couldn't be
Jet? Or are you simply saying that your experience has not yet come up on a
situation where Jet failed, so it is something that you are unable to
formulate theories on?
Oh, I BOW DOWN TO YOUR EXPERTISE!!!!!!!

Cool. Thanks. Could you kiss my toes while you're down there? My
husband's been working awfully hard lately...
If you're such a great programmer, why have you written a program
that doesn't report error messages from the components you are
using? That's completely idiotic and unprofessional.

Are you seriously telling me you report all errors of any kind that occur in
your programs to end users? I am amazed that any of them come back. I _do_
perform error trapping, of course, but to show each and every error that
occurs (some deliberate) to end users would be the end of my career.

Nobody can help you at all until you have identified the error that
is occuring.

Wow. I find it appalling that the entire Access community is so ignorant of
how Jet works that among them they can't formulate a single theory of how it
could fail without an error message being provided. For instance, couldn't
it be this: http://support.microsoft.com/kb/174655/en-us? But no one _here_
came up with that link or anything comparable. Come on. I know there has
to be _someone_ around here who's got enough experience behind him/her to at
least venture some educated guesses.

-Amy
 
T

Tony Toews [MVP]

Amy Blankenship said:
It does display error messages, just not for this. For instance, if a user
is not found it will display an error. However, no communication with the
database at all is nothing I'd ever thought would happen.

Trouble is you don't know that there is no communication with the database at all.
You just think there is no communication. And you may very well be correct.
If I'd displayed
error messages for each and every ODBC failure during development, my client
would have freaked out. And you don't send out shrink wrapped packages with
debug messages in them.

But this is not at all relevant to our discussion.

Something has to be failing somewhere. Does the database open at all.
Using a third party Xtra. The value is something like C:\Documents and
Settings\User Name Goes here\Application Data

Ok, that sounds about right.
I'm plenty willing. I doubt the end user is. Do you have some pointers at
least to get me looking in the right direction? I don't need everything
spelled out for me, but a few clues of some keywords and search terms that
might be helpful would at least be more than I have now.

No. Withat an error message of some sort I have no idea where to even start.

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
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
A

Amy Blankenship

Tony Toews said:
Trouble is you don't know that there is no communication with the database
at all.
You just think there is no communication. And you may very well be
correct.


But this is not at all relevant to our discussion.

Something has to be failing somewhere. Does the database open at all.

I discourage users from opening the database file, since some of the queries
are dependent on being able to insert records into an Autonumber field with
the index intact (read from an alternate database on the server that serves
as a "master" for all users). Access 2007 breaks this feature, something I
did not realize until too late to recode the logic in question. However,
this particular user has accidentally opened the database before, and gets
as far as the password prompt. Of course, he does not have the password, so
he doesn't go any further. Why is that relevant? I'm using ODBC to access
the file.
Ok, that sounds about right.


No. Withat an error message of some sort I have no idea where to even
start.

Well, gee, why not start by pointing out there's a book put out by Microsoft
on the subject of programming for Jet, something I just stumbled on myself
after slogging through literally hundreds of KB/Technet/MSDN articles?
Unfortunately, only the first 3 chapters are online, so even if I ordered
the book today I would not be in time to help this user.

-Amy
 
T

Tom Wickerath

you shoudln't be using ODBC, bitch
Access Data Projects made ODBC obsolete

single connection; it's a much much simpler architecture
because of the layers involved with MDB, it is often easier to optimize a
SQL Server solution
 
A

Amy Blankenship

'69 Camaro said:
Everyone please note that Aaron Kem.pf is attempting to impersonate one
of our regular posters again. Tom would never post such a message.

Don't worry. It is quite clear whoever posted the message has no clue what
he's talking about. There is no such thing as a "one size fits all"
technology solution, and there are very few technologies that are not the
best fit for _someone's_ needs.

-Amy
 
D

David W. Fenton

[]
Also error handling to at least display an error message is a
requirement IMNSHO.

It does display error messages, just not for this.

So, you displasy error messages for internal problems in your
program, but don't display them for external dependencies? That's
bad programming, in my opinion -- that's the place where error
handling is *most* needed because it's an outside dependency,
something you can't control with your coding.
For instance, if a user
is not found it will display an error. However, no communication
with the database at all is nothing I'd ever thought would happen.
If I'd displayed error messages for each and every ODBC failure
during development, my client would have freaked out. And you
don't send out shrink wrapped packages with debug messages in
them.

Uh, why not just pass through the ODBC errors? That's the usual way
this is done.

That is, by experienced programmers.

At least, competent ones.
 
T

Tony Toews [MVP]

Amy Blankenship said:
Well, gee, why not start by pointing out there's a book put out by Microsoft
on the subject of programming for Jet, something I just stumbled on myself
after slogging through literally hundreds of KB/Technet/MSDN articles?
Unfortunately, only the first 3 chapters are online, so even if I ordered
the book today I would not be in time to help this user.

That book has been out of print for ten years.

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
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
T

Tony Toews [MVP]

Amy Blankenship said:
The language I wrote it in does not show errors unless you specifically ask
it to, so if there are messages users are not able to report them.

That's a very interesting environment. We always want to see the error messages and,
depending on the error, we will put in special handling.

Can you turn on all error messages for that user?

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
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
T

Tony Toews [MVP]

Amy Blankenship said:
If I'd displayed
error messages for each and every ODBC failure during development, my client
would have freaked out.

Umm, no. You fix the error messages at your end. Once the client gets the app the
errors should be far and few between.
And you don't send out shrink wrapped packages with
debug messages in them.

Of course not. But debug and error messages are quite different.

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
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
A

Amy Blankenship

Tony Toews said:
Umm, no. You fix the error messages at your end. Once the client gets
the app the
errors should be far and few between.

Precisely my feeling. That is why these errors are not displayed to the
user. This problem never once occurred in prerelease testing, and has only
occurred once in all the hundreds of users out there.

-Amy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top