472,802 Members | 1,273 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,802 software developers and data experts.

Online Performance - Snapshot Viewer

Hello All:

I have been brought onboard to help on a project that had some
performance problems last year. I have taken some steps to address
the issues in question, but a huge question mark remains.

Last year, all of the tables and reports were stored in Access. The
database was put online so that end users could access the reports
online using Snapshot Viewer. The reports were aggregated on the fly,
and the selection criteria available to the end users was passed as
text strings to the query/reports as the searchable criteria as
opposed to an indexed numeric value. (Example: Pass Year_Desc of
200-2003 as opposed to Year_ID, of 3.)

Hundreds of users were accessing this system. Fortunately not all at
the same time, but it must have been enough people since the system
came down a few times while people were accessing their reports.

This year, I have preaggregated all reports into a reporting table, so
that no aggregation is happening on the fly when people are pulling
their reports. The only work that will be done to pull up the reports
is to pass the selection criteria to the query that the report is
based on. ALL TABLES including the aggregated reporting tables have
been moved to SQL Server. No tables live in Access anymore. The
selection criteria in the SQL reporting tables all have indexed
numeric fields that will be used to choose the appropriate recordset.

I think these items represent a big improvement for this process,
making us less likely to come down this year. The theory is that,
Access is known to not handle multiple users and major load on it's
tables. I focused on the fact that everything was in Access and since
it is not a shining star for this type of multiple user/heavy load
scenario, we would be better off in SQL.

The argument has been put forward, however, that the bottleneck is the
actual instances of Access Opening and closing in order to put out the
Snapshot Viewer for each report. It is argued that the move from
Access to SQL will have little impact, because that was not the
bottleneck. The bottleneck, it is said, was the number of actual
instances that Access must "Open" in order for people to view the
reports.

Since I have little experience with Snapshots, the argument may in
fact be valid. I stand by the move to SQL, and I still believe that
everything living in Access contributed to the poor performance and
crashes. I cannot speak towards the Access Snapshot piece ansd am
thus still concerned for the success of this project.

My concern is that we may still be looking at a crash scenario despite
the SQL move and preaggregated data. Does anyone out there have
experience with snapshots and can verify or refute the performance
issues mentioned above and the approach we are taking?

Any input is greatly appreciated. Thanks.
BlueDolphin
Nov 13 '05 #1
9 2728
On 12 Jul 2004 10:19:36 -0700, bc******@jeffco.k12.co.us (bluedolphin)
wrote:

Is this your scenario:
Users access the application via a web browser. A classic ASP
application takes the requests including report criteria, invokes an
instance of MsAccess to generate a report and exports it as a snapshot
file, and makes that snapshot file available to the requestor in the
form of a hyperlink. User clicks the hyperlink, the snapshot file
downloads and is viewed in the local viewer (or perhaps in-place in
the browser window).

If not, please describe your application architecture. What do you
mean by the term "online"?

-Tom.
Hello All:

I have been brought onboard to help on a project that had some
performance problems last year. I have taken some steps to address
the issues in question, but a huge question mark remains.

Last year, all of the tables and reports were stored in Access. The
database was put online so that end users could access the reports
online using Snapshot Viewer. The reports were aggregated on the fly,
and the selection criteria available to the end users was passed as
text strings to the query/reports as the searchable criteria as
opposed to an indexed numeric value. (Example: Pass Year_Desc of
200-2003 as opposed to Year_ID, of 3.)

Hundreds of users were accessing this system. Fortunately not all at
the same time, but it must have been enough people since the system
came down a few times while people were accessing their reports.

This year, I have preaggregated all reports into a reporting table, so
that no aggregation is happening on the fly when people are pulling
their reports. The only work that will be done to pull up the reports
is to pass the selection criteria to the query that the report is
based on. ALL TABLES including the aggregated reporting tables have
been moved to SQL Server. No tables live in Access anymore. The
selection criteria in the SQL reporting tables all have indexed
numeric fields that will be used to choose the appropriate recordset.

I think these items represent a big improvement for this process,
making us less likely to come down this year. The theory is that,
Access is known to not handle multiple users and major load on it's
tables. I focused on the fact that everything was in Access and since
it is not a shining star for this type of multiple user/heavy load
scenario, we would be better off in SQL.

The argument has been put forward, however, that the bottleneck is the
actual instances of Access Opening and closing in order to put out the
Snapshot Viewer for each report. It is argued that the move from
Access to SQL will have little impact, because that was not the
bottleneck. The bottleneck, it is said, was the number of actual
instances that Access must "Open" in order for people to view the
reports.

Since I have little experience with Snapshots, the argument may in
fact be valid. I stand by the move to SQL, and I still believe that
everything living in Access contributed to the poor performance and
crashes. I cannot speak towards the Access Snapshot piece ansd am
thus still concerned for the success of this project.

My concern is that we may still be looking at a crash scenario despite
the SQL move and preaggregated data. Does anyone out there have
experience with snapshots and can verify or refute the performance
issues mentioned above and the approach we are taking?

Any input is greatly appreciated. Thanks.
BlueDolphin


Nov 13 '05 #2
The snapshot viewer is not Access. It is a separate program.
It runs on the client computer. It is a file viewer like
Acrobat Reader. Whatever problems you might have, they won't
be due to heavy use of the snapshot viewer.

Snapshot files are generated by Access. Access was never
intended to be a internet report server, no more than MS Word,
or MS Excel.
If you are using Access as a report server (like we do),
then you are pushing the acceptable boundaries, and you
should accept that the application will need monitoring.

On the other hand, you can run Report Services on IIS/
SQL Server, and there is a wizard that will convert simple
Access reports to IIS/SQL Server/Report Services. It
may require some work, but you will be placed right in
the centre of the target market for Report Services, rather
than off at the edge of the Access target market.
Access is known to not handle multiple users and major load

That is to say, Windows (File Services) is known to not
handle multiple users and major load, and IIS is known to
be unable to handle multi-threaded applications. Fortunately,
IIS is only ONE user, and Access/Jet can be configured to be
single threaded.
Still, MS has gone to the trouble of building Report Services
specifically for applications like yours, so it should be
at least considered.

(david)
news:39********************************@4ax.com... On 12 Jul 2004 10:19:36 -0700, bc******@jeffco.k12.co.us (bluedolphin)
Hello All:

I have been brought onboard to help on a project that had some
performance problems last year. I have taken some steps to address
the issues in question, but a huge question mark remains.

Last year, all of the tables and reports were stored in Access. The
database was put online so that end users could access the reports
online using Snapshot Viewer. The reports were aggregated on the fly,
and the selection criteria available to the end users was passed as
text strings to the query/reports as the searchable criteria as
opposed to an indexed numeric value. (Example: Pass Year_Desc of
200-2003 as opposed to Year_ID, of 3.)

Hundreds of users were accessing this system. Fortunately not all at
the same time, but it must have been enough people since the system
came down a few times while people were accessing their reports.

This year, I have preaggregated all reports into a reporting table, so
that no aggregation is happening on the fly when people are pulling
their reports. The only work that will be done to pull up the reports
is to pass the selection criteria to the query that the report is
based on. ALL TABLES including the aggregated reporting tables have
been moved to SQL Server. No tables live in Access anymore. The
selection criteria in the SQL reporting tables all have indexed
numeric fields that will be used to choose the appropriate recordset.

I think these items represent a big improvement for this process,
making us less likely to come down this year. The theory is that,
Access is known to not handle multiple users and major load on it's
tables. I focused on the fact that everything was in Access and since
it is not a shining star for this type of multiple user/heavy load
scenario, we would be better off in SQL.

The argument has been put forward, however, that the bottleneck is the
actual instances of Access Opening and closing in order to put out the
Snapshot Viewer for each report. It is argued that the move from
Access to SQL will have little impact, because that was not the
bottleneck. The bottleneck, it is said, was the number of actual
instances that Access must "Open" in order for people to view the
reports.

Since I have little experience with Snapshots, the argument may in
fact be valid. I stand by the move to SQL, and I still believe that
everything living in Access contributed to the poor performance and
crashes. I cannot speak towards the Access Snapshot piece ansd am
thus still concerned for the success of this project.

My concern is that we may still be looking at a crash scenario despite
the SQL move and preaggregated data. Does anyone out there have
experience with snapshots and can verify or refute the performance
issues mentioned above and the approach we are taking?

Any input is greatly appreciated. Thanks.
BlueDolphin

Nov 13 '05 #3
Is this your scenario:
Users access the application via a web browser. A classic ASP
application takes the requests including report criteria, invokes an
instance of MsAccess to generate a report and exports it as a snapshot
file, and makes that snapshot file available to the requestor in the
form of a hyperlink. User clicks the hyperlink, the snapshot file
downloads and is viewed in the local viewer (or perhaps in-place in
the browser window).
Exactly! This is the precisely the scenario.
Nov 13 '05 #4
I read your post. If you are worried about the opening and closing of
Access, the following article shows a good way of doing it:
http://www.4guysfromrolla.com/webtec...1.update.shtml

If you have been able to run your Reporting ASP code on Windows 2003
(with the default IIS that ships with W2K3), please tell me your
IIS/Component Services settings because I have been unable to run it
on W2K3. I can run it fine on IIS 5.x / Win XP.

Thanks.

"david epsom dot com dot au" <david@epsomdotcomdotau> wrote in message news:<40***********************@news.syd.swiftdsl. com.au>...
The snapshot viewer is not Access. It is a separate program.
It runs on the client computer. It is a file viewer like
Acrobat Reader. Whatever problems you might have, they won't
be due to heavy use of the snapshot viewer.

Snapshot files are generated by Access. Access was never
intended to be a internet report server, no more than MS Word,
or MS Excel.
If you are using Access as a report server (like we do),
then you are pushing the acceptable boundaries, and you
should accept that the application will need monitoring.

On the other hand, you can run Report Services on IIS/
SQL Server, and there is a wizard that will convert simple
Access reports to IIS/SQL Server/Report Services. It
may require some work, but you will be placed right in
the centre of the target market for Report Services, rather
than off at the edge of the Access target market.
Access is known to not handle multiple users and major load


That is to say, Windows (File Services) is known to not
handle multiple users and major load, and IIS is known to
be unable to handle multi-threaded applications. Fortunately,
IIS is only ONE user, and Access/Jet can be configured to be
single threaded.
Still, MS has gone to the trouble of building Report Services
specifically for applications like yours, so it should be
at least considered.

(david)
news:39********************************@4ax.com...
On 12 Jul 2004 10:19:36 -0700, bc******@jeffco.k12.co.us (bluedolphin)
Hello All:

I have been brought onboard to help on a project that had some
performance problems last year. I have taken some steps to address
the issues in question, but a huge question mark remains.

Last year, all of the tables and reports were stored in Access. The
database was put online so that end users could access the reports
online using Snapshot Viewer. The reports were aggregated on the fly,
and the selection criteria available to the end users was passed as
text strings to the query/reports as the searchable criteria as
opposed to an indexed numeric value. (Example: Pass Year_Desc of
200-2003 as opposed to Year_ID, of 3.)

Hundreds of users were accessing this system. Fortunately not all at
the same time, but it must have been enough people since the system
came down a few times while people were accessing their reports.

This year, I have preaggregated all reports into a reporting table, so
that no aggregation is happening on the fly when people are pulling
their reports. The only work that will be done to pull up the reports
is to pass the selection criteria to the query that the report is
based on. ALL TABLES including the aggregated reporting tables have
been moved to SQL Server. No tables live in Access anymore. The
selection criteria in the SQL reporting tables all have indexed
numeric fields that will be used to choose the appropriate recordset.

I think these items represent a big improvement for this process,
making us less likely to come down this year. The theory is that,
Access is known to not handle multiple users and major load on it's
tables. I focused on the fact that everything was in Access and since
it is not a shining star for this type of multiple user/heavy load
scenario, we would be better off in SQL.

The argument has been put forward, however, that the bottleneck is the
actual instances of Access Opening and closing in order to put out the
Snapshot Viewer for each report. It is argued that the move from
Access to SQL will have little impact, because that was not the
bottleneck. The bottleneck, it is said, was the number of actual
instances that Access must "Open" in order for people to view the
reports.

Since I have little experience with Snapshots, the argument may in
fact be valid. I stand by the move to SQL, and I still believe that
everything living in Access contributed to the poor performance and
crashes. I cannot speak towards the Access Snapshot piece ansd am
thus still concerned for the success of this project.

My concern is that we may still be looking at a crash scenario despite
the SQL move and preaggregated data. Does anyone out there have
experience with snapshots and can verify or refute the performance
issues mentioned above and the approach we are taking?

Any input is greatly appreciated. Thanks.
BlueDolphin

Nov 13 '05 #5
On 13 Jul 2004 09:23:14 -0700, bc******@jeffco.k12.co.us (bluedolphin)
wrote:

OK, why didn't you say so :-)
No, just kidding.
But as others have pointed out, this is the most likely bottleneck.
You're creating Access.Application objects left and right. They are
very fat, and don't scale.
SQL Server Reporting Services is a much better solution. Bite the
bullet and migrate your reports.

-Tom.

Is this your scenario:
Users access the application via a web browser. A classic ASP
application takes the requests including report criteria, invokes an
instance of MsAccess to generate a report and exports it as a snapshot
file, and makes that snapshot file available to the requestor in the
form of a hyperlink. User clicks the hyperlink, the snapshot file
downloads and is viewed in the local viewer (or perhaps in-place in
the browser window).
Exactly! This is the precisely the scenario.


Nov 13 '05 #6
Thank you for the input. Yes I agree we need to migrate to SQl
reporting or Crystal or something else. We have someone here who has
created MANY Access reports and is unwilling to give them up until they
find another easy to use tool with strong graphing functionality. We
will definately move to another tool with time. At the moment it is too
much to recreate the over 100 reports that she currently has
functioning. I will definately look into the reporting suggestion made
above.

However, in the meantime, what I'm reading is that we will still have
the same bottleneck despite the SQL move. Will we get ANY PERFORMANCE
IMPROVEMENT AT ALL as a result of the move?

Thanks for your input everyone.
BlueDolphin
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 13 '05 #7
> the same bottleneck despite the SQL move. Will we get ANY PERFORMANCE
IMPROVEMENT AT ALL as a result of the move?
No

In fact, it's just one more thing to break.
FWIW, the Report Services report builder is kinda similar to the
Access Report Builder, so it can be learned.

And, depending on your reports, the wizard might be able to do
most of the conversion.

I don't know what you are using for 'graphing'. Most people
don't like MS Graph in Access, and are willing to switch
across to Report Services graphs.

(david)
"Beth Capone-Trembath" <bc******@jeffco.k12.co.us> wrote in message
news:40**********************@news.newsgroups.ws.. . Thank you for the input. Yes I agree we need to migrate to SQl
reporting or Crystal or something else. We have someone here who has
created MANY Access reports and is unwilling to give them up until they
find another easy to use tool with strong graphing functionality. We
will definately move to another tool with time. At the moment it is too
much to recreate the over 100 reports that she currently has
functioning. I will definately look into the reporting suggestion made
above.

However, in the meantime, what I'm reading is that we will still have
the same bottleneck despite the SQL move. Will we get ANY PERFORMANCE
IMPROVEMENT AT ALL as a result of the move?

Thanks for your input everyone.
BlueDolphin
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Nov 13 '05 #8
On 14 Jul 2004 19:05:43 GMT, Beth Capone-Trembath
<bc******@jeffco.k12.co.us> wrote:

With that number of reports, it may make sense to invest in a
conversion tool beyond the one built into SQL Sever Reporting Services
(RS). After all, a RS report is just an XML text file, which syntax
can be understood. Access reports can be opened in design view and
queried programmatically. Thus the road to a conversion tool that does
90% of the work is open.

-Tom.

Thank you for the input. Yes I agree we need to migrate to SQl
reporting or Crystal or something else. We have someone here who has
created MANY Access reports and is unwilling to give them up until they
find another easy to use tool with strong graphing functionality. We
will definately move to another tool with time. At the moment it is too
much to recreate the over 100 reports that she currently has
functioning. I will definately look into the reporting suggestion made
above.

However, in the meantime, what I'm reading is that we will still have
the same bottleneck despite the SQL move. Will we get ANY PERFORMANCE
IMPROVEMENT AT ALL as a result of the move?

Thanks for your input everyone.
BlueDolphin
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!


Nov 13 '05 #9
> can be understood. Access reports can be opened in design view and

Or saved as text. They look kind of like VB form files.

(david)

"Tom van Stiphout" <no*************@cox.net> wrote in message
news:37********************************@4ax.com...
On 14 Jul 2004 19:05:43 GMT, Beth Capone-Trembath
<bc******@jeffco.k12.co.us> wrote:

With that number of reports, it may make sense to invest in a
conversion tool beyond the one built into SQL Sever Reporting Services
(RS). After all, a RS report is just an XML text file, which syntax
can be understood. Access reports can be opened in design view and
queried programmatically. Thus the road to a conversion tool that does
90% of the work is open.

-Tom.

Nov 13 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Louis Eastwood | last post by:
I am getting this error when trying to create a Snapshot report in Access 97 on Win98 machine: "Microsoft Access can't complete the Output operation. The Visual Basic code you entered contains a...
1
by: Rick Brown | last post by:
I'm trying to find a way to output a Access97 report to a file without losing any of the formatting. The Microsoft Snapshot Viewer does this perfectly but the person opening the file needs the...
0
by: Soly | last post by:
I would like to use automation to print a snapshot file from an snapshot viewer ActiveX control using the PrintSnapshot method. The argument for this method is True/False to show/hide the Print...
5
by: tom | last post by:
Hey All- I've exported a report to Access's "snapshot" format and want to put it on a website for users to view. However, when I click on the link to the snapshot file, I notice that my browser...
3
by: DavidB | last post by:
I have a Snapshot Control in a continuous form and I want the source for the control to be different for each instance of the continuous data (based on one of the fields in the recrod source for...
4
by: Salad | last post by:
Hi: I have the following line: DoCmd.SendObject acSendReport, "TestReport", _ "SnapshotFormat (*.snp)", _ "joeblow@nowhere.com", , , "Report Test", _ "Does it open correctly?", True I have...
3
by: Steven Thomas | last post by:
I am working on a ASP.NET application using VB.NET. I have a function that creates a snapshot file on a separate server and passes a path back to the webpage. Now I want to display the snapshot. ...
4
by: Stanislaw Tristan | last post by:
Problem: I created a custom exception that inherits from Exception and added a some of new properties. All new properties filled in the constructors. When I throwing this custom exception and go...
8
by: grant | last post by:
Hi I've copied Stephens code into my db, and can get it to work, but only on "plain Jane" reports with no images. Most of my reports has an unbound image obluect in them that I set to an...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 2 August 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Sept 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
0
by: Rina0 | last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
How does React native implement an English player?
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.