Client has a bunch of Access databases and associated reports.
He wants to make the reports available (live, not snapshots) via a secure extranet.
He's willing to recreate the reports using a proprietary GUI if necessary, but ideally would like a solution that exports his reports "as is" to the web.
Had a look at Caspio Bridge. It's pretty slick but doesn't appear to offer grouping and summing (key requirement) without a nasty Javascript hack - seems like a rather glaring omission to me!
Any suggestions?
I'm an ASP.NET developer so if there's coding involved, an ASP.NET based solution would be preferred.
You can try Access Reporter.
http://www.ssw.com.au/ssw/AccessReporter/Default.aspx
You might like to consider Access 2010, point 3 of the linked document says:
Access your application, data, or
forms from virtually anywhere.
Extend your database to the Web so
that users without an Access client
can open Web forms and reports via a
browser and changes are automatically
synchronized.1 Or work on your Web
database offline, make your design and
data changes, and then sync them to
Microsoft SharePoint Server 2010 when
you’re reconnected. With Access 2010
and SharePoint Server 2010, your data
can be protected centrally to meet
data compliance, backup, and audit
requirements, providing you with
increased accessibility and
manageability.
-- http://www.microsoft.com/office/2010/en/access/default.aspx
SQL Server Express edition is free. It includes Reporting Services
http://www.microsoft.com/Sqlserver/2005/en/us/express.aspx
You can connect to the MS Access database (or any other database that you have OLEDB or ODBC connectivity for)
For your existing reports, here is a link on how to migrate just the reports to SQL Server (leave data in MS Access)
http://technet.microsoft.com/en-us/library/cc966391.aspx
Actually, the suggestion being given here is to move your back and data up to SQL server , but keep your front end application part as is in Access.
So the suggestion isn’t to move your application to SQL server. The suggestion here is to move only the data part of your application to SQL server but continue to use the desktop access application.
So, you link your tables to sql server, and continue to use the access application.
What this means that is you can use SQL server reporting services, or some other web based interface that pulls the data from SQL server. So your access application will be directly updating the data on that SQL server.
This setup works well since you not tying to shuttle data between two separate systems. I know a number of companies that successfully migrated their backend data to SQL server for this very purpose of allowing the Executives and the company Managers to view reports on a web based system.
However, they did not have to throw out or lose the investment and time they spent building the access application part.
Related
I apologize right away if I misuse my right to ask questions here. Yet, being a tyro in web development and an ASP.NET beginner, I need some advice from the experts.
I have developed an ASP.NET WebForms application which I would like to deploy to a remote hosting server. The application constantly queries and updates the database due to its purpose of being a document registration system. It will be sold to different institutions so that I've imagined the following scenario: host the app on the same server for all the institutions and have the databases on a different server or on multiple different servers. I have considered this option because as the data amount expands the storage provided by hosting companies may be insufficient.
My question is: is it possible to accomplish this scenario and if yes what are the risks and how should I do it?
Thank you very much!
Yes, it is a normal way to do it. However, you need a fast network connection between the web server and database server. You would also need to consider the service level (ie percentage up-time) and how much redundancy is needed to achieve that.
There's an easy way and a harder way to achieve this.
The easy way is to host your application in Microsoft Azure. It is fast to implement and very flexible.
You can host the database in SQL Azure Database, which Microsoft recommend for new development. This can be scaled from very small (and low cost) to very powerful (more cost).
Similarly the web application can be scaled. You can scale it vertically, by making the machine more powerful, and horizontally by adding more machines.
For both the database and web application, the scaling can be changed up or down in a few minutes.
The harder way is to host the application on virtual machines. You would need a lot of knowledge to configure and maintain this. For instance, you might need to configure SQL Server AlwaysOn.
This screen picture shows how you can select the pricing tier for a web application hosted in Microsoft Azure. (Prices are in GBP.)
You should host the web app and the database in the same data centre to ensure there will be fast network connections between them. Also you can make them belong to the same "resource group", which tells Azure that they work together.
This shows how you can select the level for a SQL Azure database. (Prices in GBP.)
See Microsoft Azure > Azure pricing: https://azure.microsoft.com/en-gb/pricing/
You could do it, just consider the speed between the hosting server and database server.
I know such questions have already been asked many times, but I am here with my scenario. Kindly do not delete or vote to close.
I have an asp.net application with L2S and SQL 2008 R2 as backend
Using N-Layered architectured
Mostly normal crud operations to be performed.
Use of Sessions and View States
Manual Login / Logout(User and Roles management) , no .net Membership has been used.
No services used yet, might be a later part.
Third Party controls like Telerik or Infragistics also are in use.
I want to know:
Do i need to change entire application to Azure Web Application?
If not, is it possible to deploy it directly over the cloud , on MS or any other, as we normally do in IIS?
If not, Is there any third party migration tool available to make my plain old web application cloud-compatible, without affecting existing codes ?
I want cost effective and easy to go steps?
Thanks in advance
Yes that should be possible. You almost certainly do NOT have to change your whole application.
Linq2SQL is fine, I run an Azure site with L2S without any problems
You'll have to deploy your DB to a SQL Azure database. There are some restrictions, like all of your tables must have a primary key. A bigger list is here: http://msdn.microsoft.com/en-us/library/windowsazure/ee336245.aspx.
Also, when generating your SQL scripts, be sure to select SQL Azure as the database engine type: http://mooneyblog.mmdbsolutions.com/index.php/2011/09/22/generating-azure-friendly-sql-scripts/
What do your N-layers look like? If they are DLLs, it's fine. If they are web services, you'll need to create web roles for them. If they are windows services, you'll need to port them to a worker role.
Most crud and view state and manual authentication code is fine
For session, it depends on what you are doing (memory vs database). But you'll have the same challenges that you would have if you deployed to any web farm
For Telerik, I'm sure they have to have some support for Azure, and I don't think they would be doing anything crazy that would not work Azure. You should check out their website to verify compatibility.
Also, make sure you are not writing to the hard drive anywhere and expecting it to be there later, because instances can be started and stopped and reimaged at any point. If you're doing that, you'll need to change it to use something else like blob storage.
I have an ongoing series of blog posts that walk through some of the steps, which should help: http://mooneyblog.mmdbsolutions.com/index.php/category/azure/
Good luck!
I don't see any hassles to deploy your web application into the cloud.
You don't need to convert your entire application to anything else.
After all you can just try to deploy it now with the trial subscription in Windows Azure which is free for three months.
There is a fairly big stuff of new technology in Windows Azure such as service bus, azure storage, access control service, etc. However it's not necessary to use all them right now. It's prety easy just to move the existing app into the cloud.
You can deploy it to Azure web site.
That should be easier if you don't want to use SQL Azure and cloud storage.
I have developed web application for restaurant. Its Front office is developed for iPad and back office maintain .net web application .
SQL Server 2008 is used as database.
I want to make offline application for Front office which can be used when unable to connect network / DB Server using iPad.
Master table's data cannot be Modified but, there should be latest data of master table to
transaction in other pages.
whenever system is connected to internet all offline transaction should synchronize with online data
It will be better if can suggest me solution without installing sql at client
I have think to use save data xml/json files as per table structure but its not preferable with large numbers of tables and clients and also security issue is there
Please guide me on this. Any help would be appreciated
Thanks in advance
Just to be sure: Your frontend is developed using HTML-Technologie?
You could use HTML5 Local Storage and/or offline caching with a manifest.
I think you have to put your data there by hand, but you could write a function for this...
I need to quickly wrap some security around an existing ASP.Net 2.0 web app. After thinking about it for a moment, I remembered that Microsoft created that Membership and Roles paradigm a couple of years back, and that Visual Studio could essentially create everything for you.
Thus I forged forward using the built in ASP.Net Web Site Administration Tool and created a simple little security framework around the application. After setting all of the options, Visual Studio created a nice little SQL Express DB called ASPNETDB.MDF right under the newly created App_Data directory of my website. This works great until you deploy it.
After trying to push this app to my DEV server I realized that it's not going to work unless you have SQL Express installed on the hosting machine. Worse yet, I figured that there's essentially no way this would work under a load balanced environment considering the DB itself will only be isolated to one of the N nodes.
Rather than work to script out the DB and shove it into my existing SQL box...I figured I'd ask the StackOverflow if there is a better solution for simple yet secure ASP.Net websites.
I'd love to maintain the existing model yet have the database become a local, or flat-file DB baked right into the application. For the time being I'm even fine with deploying the flat file with each user or role change to counteract the load balanced sites in PROD.
Is there not a way to create some sort of similar setup with a flat file? I thought that was the point of the App_Data folder?
You could use a custom Role & Membership provider that supports a flat file, like XML. Here is a link to a XML Membership provider, I've seen similar implementations for Roles.
XML Membership Provider
it's not going to work unless you have SQL Express installed on the hosting machine.
Not necessarily. If you still want to use default membership/role providers you can either have the DB server on the hosting machine or have one instance of the DB as a separate server (just change the connection string for providers).
Worse yet, I figured that there's essentially no way this would work under a load balanced environment considering the DB itself will only be isolated to one of the N nodes.
This statement is not really correct in this particular situation.
With load-balancing you will not have isolated database, but rather a separate database server.
I'd love to maintain the existing
model yet have the database become a local, or flat-file DB baked right
into the application. For the time
being I'm even fine with deploying the
flat file with each user or role
change to counteract the load balanced
sites in PROD
If you say that application with proper SQL DB will not scale, I do not understand how flat-file storage can.
You still can keep local SQL Server database and it will work as long as you take responsibility of maintaining the database consistency across different nodes.
In your situation, I would personally use default membership/roles provider as you do now.
But when deploying, just change the connection string to the proper database server.
You will need a database for other stuff anyway, so why not use the same database for all data withing the application (including membership/roles).
Regards.
I found an excellent solution to this here...http://aspnetxmlproviders.codeplex.com/. Using the dynamic XML you can hack out a simple provider based security model in no time flat.
I'm looking for a ASP.NET report generation engine, with this feature: interactivity, this means the user must be able to move from more general data to more detailed data (clicking on report elements, like rows or columns).
Thanks
It looks like you want a drill down interactive reporting engine? SQL Server Analysis Services (SSAS) in combination with SQL Server Reporting Services (SSRS) provides the features you need; you can drill down through your data in a very dynamic way, and it works very well.
And you can deploy that to ASP.NET.
HTH.
SQL Server Reporing services does provide the functionality you are looking for but there are security issues if you try to put it on an internet facing server.
SSRS was designed to be an intranet reporting tool. This paragraph comes from the first link below:
"Although SQL Server Reporting Services is not expressly designed for extranet or Internet report deployment scenarios, you can successfully put Reporting Services on an Internet-facing Web server to distribute general information to the public at large or private corporate data to authorized and authenticated users."
Have a read of the following:
http://msdn.microsoft.com/en-us/library/ms159272.aspx
Internet Facing SSRS Report
http://blogs.msdn.com/tudortr/archive/2005/11/03/488731.aspx