?
Solved

What do I  need to develop a asp.net crystal report web site.

Posted on 2006-05-04
10
Medium Priority
?
253 Views
Last Modified: 2012-06-27
first do I really need to buy the Crystal Report Server Endition.

second I have the development version. If I create the .rpt files.

How can I run them on a server 2003 windows using aspx using a viewer of some sort (does it cost)?

What is the difference if I create a winconsole application to see the report versus

a web application. I need to get started on this asap. I am getting confused with what people are

saying. So I have a server running windows 2003 and iis 6.0 and I will have to connect to this server to see the

reports what way should I go. Web or Winconsole and which is cheaper?

Any help would be great!!!
0
Comment
Question by:mathieu_cupryk
  • 3
  • 3
  • 2
  • +2
10 Comments
 
LVL 101

Expert Comment

by:mlmcc
ID: 16611836
0
 
LVL 26

Expert Comment

by:Kurt Reinhardt
ID: 16615368
Crystal Reports Server (CRS) is a full-fledge BI tool.  It has scheduling, distribution, dashboarding (in a limited fashion), custom business  calendars, events, discussion threads, etc...

If you have CRXI Professional or Developer Editions then you get the CRS software for free plus 5 non-expiring Named User Licenses.  I would opine that there's nothing you could build with equal or better functionality than CRS for less money...

That being said, you have't stated what your requirements are:

1)  How many users will access the reports over the web?
2)  If you build the product, what functionality is required?
3)  What are the licensing restrictions on your version of CR?
4)  If you build the product, how much will it cost in time (requirements gathering, documentation, development, testing, qa, user acceptance) for all parties involved, money (software licenses, hardware, salaries, etc...) and support (if you build it, you support it...).

As I mentioned above, CRS is free with 5 named users when you purchase CR Professional or Developer.  If you need additional licenses, they cost $7500 USD/block of 5 concurrent access licenses (CALS).  You can only purchase up to 20 CALS, which could handle up to ~ 200 total users, 20 of whom are logged in concurrently. One caveat, however, is that CRS is designed for internal  use, not external.

Another possibility is to use Business Objects Enterprise XI (BOEXI).  Generally, it is prohibitively expensive for small environments.  You can, however, purchase named user licenses for $750/USD.

~Kurt
0
 

Author Comment

by:mathieu_cupryk
ID: 16616912
Say I want to just display reports from a server and also be able to print these reports. Should I do this application as a web application or a winconsole application. What do I need?
0
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

 
LVL 13

Expert Comment

by:EwaldL
ID: 16617168
the cheapest way to get crystal in that woudl be to use .net 2005 professional or .net 2005 express + cr xi dev. but then you have to write your own code. cr server is a great tool with heaps more of functionality that will come in handy!
0
 
LVL 101

Expert Comment

by:mlmcc
ID: 16619575
Will .Net express work with CR?

mlmcc
0
 
LVL 7

Accepted Solution

by:
janmarini earned 2000 total points
ID: 16619842
I have several web apps developed using standalone Crystal 9.0, Visual Studio 2002 and 2003 and SQL Server.  Each office that uses the apps have a small user base so licensing issues haven't been a problem (yet).  Need to know what version of CR you are using, or if you are using the version bundled up with VS, and what version of VS.  Makes a big difference in what you can do.

In the meanwhile, since I don't know your environment - here is info based on what I use;

Some preliminary and very basic steps to help get you started on a Web solution (there's tons of different ways to do this),  I'll just share some things that  hopefully will allow you to view a report in a CRviewer on a web form, and provide proof of concept.  It's not elegant - that takes some work (and LOL - it's Friday night and I'm quitting work for the day :-)  

I'm using Visual basic/ASP.NET and non-embedded Crystal Reports (not using the version bundled with VS):

In Visual Studio -
1.  Create a new blank solution (ASP.NET Web Application).  Make sure you give the location a name you want to use for your solution (instead of the defaul WebApplication1)
2.  It adds a new Web form (WebForm1.aspx) by default.  Rename it to what you would like your report viewer page to be called.
3.  From the Toolbox, Webforms - drag the Crystal Report Viewer onto the form.  I replace the ID property with crv1 - my preference.  Note - this is just to get you started, I don't use the viewer in web apps for many reasons.  Instead I export my reports to PDF files and display those - highly recommend this.  Also, I don't do anything else with the control through it's properties - I do it in the code behind instead - BUT, you could set up your report display/binding properties here if you wanted to.
4.  I use reports developed in CR - so they are saved as separate .rpt files (makes it easier to make changes later on - don't have to recompile and redistribute my apps).  I will assume that you have a report file that you would like to test with - otherwise, create a simple test report.
5.  Double click on the ReportViewer control - this will open up the VB code behind.
6.  If needed:  Project\Add reference  CrystalDecisions.CrystalReports.Engine

7.  These are the standard import statements I place above the class
#Region "Imports"
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports CrystalDecisions.Web
Imports System.Data
Imports System.Data.SqlClient
#End Region

8.  Within your form:  Private Sub Page_Load:
        Dim crReportDocument As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
        crReportDocument.Load("c:\inetpub\wwwroot\MyReports\Report Files\Test.rpt") '<---Replace with your report name/path
        Call LogonReport(crReportDocument) '<----- I have this in a separate module, but you can add the code to this form
        crv1.ReportSource = crReportDocument

9.  Allows you to dynamically load reports (and associated sub-reports if they exist) using different servers/username/passwords.  
     For now, copy and paste it under Page_load:
     
     Private Sub LogonReport(ByVal rptReport As CrystalDecisions.CrystalReports.Engine.ReportDocument)
        Dim strServer As String = ""
        Dim strDBase As String = ""
        Dim strUID As String = ""
        Dim strPWD As String = ""
        Dim crReportDocument As New ReportDocument()
        Dim crTableLogonInfos As New TableLogOnInfos()
        Dim crTableLogonInfo As New TableLogOnInfo()
        Dim crTables As Tables
        Dim crTable As Table
        Dim crSections As Sections
        Dim crSection As Section
        Dim crReportObjects As ReportObjects
        Dim crReportObject As ReportObject
        Dim crSubreportObject As SubreportObject
        Dim crDataBase As Database
        Dim crConnInfo As New ConnectionInfo()
        Dim subRepDoc As New ReportDocument()


        strServer = ConfigurationSettings.AppSettings("strServer")
        strDBase = ConfigurationSettings.AppSettings("strDBase")
        strUID = ConfigurationSettings.AppSettings("strUID")
        strPWD = ConfigurationSettings.AppSettings("strPWD")

        'Logs into the tables in the report
        crReportDocument = rptReport
        crDataBase = crReportDocument.Database
        crTables = crDataBase.Tables
        For Each crTable In crTables
            With crConnInfo
                .ServerName = strServer
                .DatabaseName = strDBase
                .UserID = strUID
                .Password = strPWD
            End With

            crTableLogonInfo = crTable.LogOnInfo
            crTableLogonInfo.ConnectionInfo = crConnInfo
            crTable.ApplyLogOnInfo(crTableLogonInfo)
            crTable.Location = strDBase & ".dbo." & crTable.Name
            crTable.ApplyLogOnInfo(crTableLogonInfo)
        Next

        'Logs into the tables in the Sub-reports
        crSections = crReportDocument.ReportDefinition.Sections
        For Each crSection In crSections
            crReportObjects = crSection.ReportObjects
            For Each crReportObject In crReportObjects
                If crReportObject.Kind = ReportObjectKind.SubreportObject Then
                    crSubreportObject = CType(crReportObject, SubreportObject)
                    subRepDoc = crSubreportObject.OpenSubreport(crSubreportObject.SubreportName)
                    crDataBase = subRepDoc.Database
                    crTables = crDataBase.Tables
                    For Each crTable In crTables
                        With crConnInfo
                            .ServerName = strServer
                            .DatabaseName = strDBase
                            .UserID = strUID
                            .Password = strPWD
                        End With
                        crTableLogonInfo = crTable.LogOnInfo
                        crTableLogonInfo.ConnectionInfo = crConnInfo
                        crTable.ApplyLogOnInfo(crTableLogonInfo)
                        crTable.Location = strDBase & ".dbo." & crTable.Name
                    Next
                End If
            Next
        Next
    End Sub

10.  In the Web.Config file, add the following (assumes SQL Server, change things as you need for your environment):
<appSettings>
            
<!-- connection string -->
      <add key="strServer" value="YourDEVorPRODServerName" />
      <add key="strDBase" value="YourDatabaseName" />
      <add key="strUID" value="YourUserID" />
      <add key="StrPWD" value="YourPassword" />
</appSettings>
 
You can also do as a Windows app, very similar.

I'm travelling to Amsterdam tomorrow for a few days - not sure if I can follow up or not.  If I can, I will - and if not I'm sure the experts here can help you to get up and running on your proof of concept.

Jan


0
 

Author Comment

by:mathieu_cupryk
ID: 16620642
I need to know how to create a windows client console application to access reports on a windows server 2003 running iis 6.0. What do I have to install on the windows server in order to have this running. Do I need the Server addition of crystal? How do I go about setting this up?
0
 
LVL 101

Expert Comment

by:mlmcc
ID: 16623010
0
 
LVL 7

Expert Comment

by:janmarini
ID: 16623324
OK... Well you won't be using ASP.Net for a Windows app.  I was misled by your question "What do I  need to develop a asp.net crystal report web site"....  

I spent quite some time to give you info to get you started - based on your topic.  Sounds like you now have a new question
0
 

Author Comment

by:mathieu_cupryk
ID: 16624243
You are right jan.
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Crystal Reports: 5 Tests for Top Performance It is complete, your masterpiece report.  Not only does it meet your customer’s expectations, it blows them out the water, all they want is beautifully summarised and displayed in a myriad of ways. …
I hate sub reports and always consider them the last resort in any reporting solution.  The negative effect on performance and maintainability is just not worth the easy ride they give the report writer.  Nine times out of ten reporting requirements…
We’ve all felt that sense of false security before—locking down external access to a database or component and feeling like we’ve done all we need to do to secure company data. But that feeling is fleeting. Attacks these days can happen in many w…
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…
Suggested Courses
Course of the Month14 days, 5 hours left to enroll

807 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question