Discussion:
Access the Exchange data store
(too old to reply)
Dale Fye
2006-09-11 01:19:32 UTC
Permalink
I work in a test environment where we test all sorts of new software for the
military. Part of that test environment includes the Office Suite and
Exchange/Outlook for email. As part of this testing process, my boss would
like to be able to develop some statistics regarding the usage of email, in
relation to the usage of other systems (web portals, collaborative software,
...) in our lab.

What I would like to be able to do is create a direct connection between
Access and whatever data store Exchange Server uses. I've figured out how
to do this between Access and my own personal email account, but need to
actually look at the Exchange Server. All reporting would be done in the
evenings, after the tests are done for the day. Does anyone know how to do
this?

Thanks in advance.
Glen Scales [MVP]
2006-09-12 05:04:07 UTC
Permalink
To Access Exchange programmatically you need to use one of the Exchange
API's either MAPI, WebDAV or ADO/Exoledb (only available locally on the
server). If your coding in VBA inside an office application and it going to
be some type of interactive application then the easiest thing to use would
be the Outlook Object Model which will access exchange over MAPI. The thing
to keep in mind no matter what method you use your always going to be
accessing each mailbox individually rather then accessing Exchange as a bulk
database. But what is it you really want to report on eg if you want to
report on messaging activity (eg who sent want to who) then you don't need
to access the exchange database at all if you enable message tracking you
can access and export the message tracking logs via WMI and create reports
based on the logs see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_wmiref_cl_Exchange_MessageTrackingEntry.asp
(there are a bunch of third party apps that can provide ready made reports
based on this information like promodag and Quests messagestats)

Cheers
Glen
Post by Dale Fye
I work in a test environment where we test all sorts of new software for
the military. Part of that test environment includes the Office Suite and
Exchange/Outlook for email. As part of this testing process, my boss would
like to be able to develop some statistics regarding the usage of email, in
relation to the usage of other systems (web portals, collaborative
software, ...) in our lab.
What I would like to be able to do is create a direct connection between
Access and whatever data store Exchange Server uses. I've figured out how
to do this between Access and my own personal email account, but need to
actually look at the Exchange Server. All reporting would be done in the
evenings, after the tests are done for the day. Does anyone know how to
do this?
Thanks in advance.
Dale Fye
2006-09-12 16:56:02 UTC
Permalink
Glen,

Thanks for your input.

In our lab, analysis is event driven. The controllers will inject some
information into the lab at a particular time, and then want to track the
level of various activities that occur over time following that inject. They
want to track things like:

1. The number of emails sent during each 15 minute period of the day, and
then compare that across days.

2. The average number of addressees that an email is sent to

3. The number of emails sent with attachments, the number of addressees on
these messages, the average size of the attachments.

4. The number of emails sent by each user, to identify the prolific users.

Lots of others. Is this information available through PROMODAG? As I
recall, the organization bought a copy about 4 years ago. I'll have the
analysts try to dig up a copy and see if it works with the current version of
Exchange
Post by Glen Scales [MVP]
To Access Exchange programmatically you need to use one of the Exchange
API's either MAPI, WebDAV or ADO/Exoledb (only available locally on the
server). If your coding in VBA inside an office application and it going to
be some type of interactive application then the easiest thing to use would
be the Outlook Object Model which will access exchange over MAPI. The thing
to keep in mind no matter what method you use your always going to be
accessing each mailbox individually rather then accessing Exchange as a bulk
database. But what is it you really want to report on eg if you want to
report on messaging activity (eg who sent want to who) then you don't need
to access the exchange database at all if you enable message tracking you
can access and export the message tracking logs via WMI and create reports
based on the logs see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_wmiref_cl_Exchange_MessageTrackingEntry.asp
(there are a bunch of third party apps that can provide ready made reports
based on this information like promodag and Quests messagestats)
Cheers
Glen
Post by Dale Fye
I work in a test environment where we test all sorts of new software for
the military. Part of that test environment includes the Office Suite and
Exchange/Outlook for email. As part of this testing process, my boss would
like to be able to develop some statistics regarding the usage of email, in
relation to the usage of other systems (web portals, collaborative
software, ...) in our lab.
What I would like to be able to do is create a direct connection between
Access and whatever data store Exchange Server uses. I've figured out how
to do this between Access and my own personal email account, but need to
actually look at the Exchange Server. All reporting would be done in the
evenings, after the tests are done for the day. Does anyone know how to
do this?
Thanks in advance.
Glen Scales [MVP]
2006-09-13 00:46:36 UTC
Permalink
I've not used the program in question I actually wrote my own but its really
only good for 1 server sites
http://www.outlookexchange.com/articles/glenscales/mtrackrs.asp . PROMDAG's
pretty good It may have a report for these already but if it doesn't the
information you need is going to be in that database it uses so you may be
able to hook into it using something like crystal reports and create a
report to do this. Its all just aggregation logic which is just time
consuming to do but not really that hard.

Cheers
Glen
Post by Dale Fye
Glen,
Thanks for your input.
In our lab, analysis is event driven. The controllers will inject some
information into the lab at a particular time, and then want to track the
level of various activities that occur over time following that inject.
They
1. The number of emails sent during each 15 minute period of the day, and
then compare that across days.
2. The average number of addressees that an email is sent to
3. The number of emails sent with attachments, the number of addressees on
these messages, the average size of the attachments.
4. The number of emails sent by each user, to identify the prolific users.
Lots of others. Is this information available through PROMODAG? As I
recall, the organization bought a copy about 4 years ago. I'll have the
analysts try to dig up a copy and see if it works with the current version of
Exchange
Post by Glen Scales [MVP]
To Access Exchange programmatically you need to use one of the Exchange
API's either MAPI, WebDAV or ADO/Exoledb (only available locally on the
server). If your coding in VBA inside an office application and it going to
be some type of interactive application then the easiest thing to use would
be the Outlook Object Model which will access exchange over MAPI. The thing
to keep in mind no matter what method you use your always going to be
accessing each mailbox individually rather then accessing Exchange as a bulk
database. But what is it you really want to report on eg if you want to
report on messaging activity (eg who sent want to who) then you don't need
to access the exchange database at all if you enable message tracking you
can access and export the message tracking logs via WMI and create reports
based on the logs see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_wmiref_cl_Exchange_MessageTrackingEntry.asp
(there are a bunch of third party apps that can provide ready made reports
based on this information like promodag and Quests messagestats)
Cheers
Glen
Post by Dale Fye
I work in a test environment where we test all sorts of new software for
the military. Part of that test environment includes the Office Suite and
Exchange/Outlook for email. As part of this testing process, my boss would
like to be able to develop some statistics regarding the usage of email, in
relation to the usage of other systems (web portals, collaborative
software, ...) in our lab.
What I would like to be able to do is create a direct connection between
Access and whatever data store Exchange Server uses. I've figured out how
to do this between Access and my own personal email account, but need to
actually look at the Exchange Server. All reporting would be done in the
evenings, after the tests are done for the day. Does anyone know how to
do this?
Thanks in advance.
Loading...