Link to home
Start Free TrialLog in
Avatar of abishome
abishome

asked on

Crystal Reports 9 Conecting to sql server DSN asking for username and password

When designing the report I used a DSN name that exactly the same as on the server that runs the report server for my website.  Everytime I run the report it keeps asking for a username and password.  Can I do something in the viewer some code or something to tell it what the username and password are?
Avatar of abishome
abishome

ASKER

here is a copy of my viewer code It is ASP connection to Crystal Reports 9 and a SQL Severr 2000 database

<%@ Language=VBScript %>
<%

'Create the Report Viewer object
'Set HTMLViewer = CreateObject("CrystalReports.CrystalReportViewer")
Set HTMLViewer = Session("ObjFactory").CreateObject("CrystalReports.CrystalReportInteractiveViewer")
Set rptAppSession = Session("ObjFactory").CreateObject("CrystalReports.ReportAppSession")
    rptAppSession.Initialize
    If Err.Number <> 0 Then
        Response.Write "Failed to initialize ReportAppSession."
        Response.Write "Error message: " & Err.Description
        Err.Clear
    End If
Set OpenReport = rptAppSession.CreateService("CrystalClientDoc.ReportClientDocument")
'Supply the viewer with information it needs and set any viewer attributes
With HTMLViewer
    .ReportSource = Session("pathReport")
    .IsOwnPage = True
    .IsEnableDrillDown = True
    .IsDisplayGroupTree = False
End With

'Check that ParamCollection is not null or empty
If Session("ParamCollection").Count > 0 Then
    HTMLViewer.ParameterFields = Session("ParamCollection")
End If

'Display the report in the viewer
HTMLViewer.ProcessHttpRequest Request, Response
%>
the report needs to be logged on at the database unless you are using nt authentication for sql server? Try executing tthe Logon command after instantiating the report object. I am not too familiar with ras asp but this seems to be missing in your extract?

Session("pathReport").DatabaseController.Logon "user", "password"

There are more samples in here, with a lot of info on database logon
http://support.crystaldecisions.com/communityCS/TechnicalPapers/apps_ras.pdf

Also make sure that the server has a System DSN, not a User DSN

try it..iam a new to this..but trying to provide based on the thing i infered from u r ques

using
<appSettings>
        <add key="ConnectionString" value="Data Source=dsnname;Initial Catalog=;User ID=id;password=password;"/>
 </appSettings>


and call it when req..
what does the Session("pathReport") contain? Just the report path as a String, ie "C:\report.rpt" ?
There are two files that get called when linking to the report.  This is the first

<%
'===================================================================================
' Creation Date: July 2003
' Author: ES
' Purpose: This sample ASP application demonstrates how to use the Report Application
'          Server (RAS) Viewer SDK to pass values to discrete report parameters.
'===================================================================================

'Specify the report to be opened
'reportname = "SimpleParameters.rpt"
reportname = request.QueryString("ReportName")
'Use this object to create other RAS objects
Set Session("ObjFactory") = CreateObject("CrystalReports.ObjectFactory.2")

'This "While/Wend" loop is used to determine the physical path (eg: C:\) to the
'Crystal Report file by translating the URL virtual path (eg: http://Domain/Dir)  
Path = Request.ServerVariables("PATH_TRANSLATED")                    
While (Right(Path, 1) <> "\" And Len(Path) <> 0)                      
      iLen = Len(Path) - 1                                                  
      Path = Left(Path, iLen)                                              
Wend      

'Store the Path and report into a session variable as it will be used by the viewer code
Session("pathReport") = Path & reportname

'The ServerControl object provides us with an interface to a variety of RAS Services
Set oServerControl = Session("ObjFactory").CreateObject("CrystalReports.CrystalReportServerControl")

'We need to open the report for modification (in this case passing parameters)
oServerControl.reportSource = Session("pathReport")
oServerControl.processHttpRequest Request, Response, Null

'Retrieve all the parameters from the report
Set ParamCollection = oServerControl.ParameterFields

'This subroutine expects two values, the parameter name and its value
Sub PassParameter(strParamName, ParamValue)

   'determine the index value of the parameter in the collection
   paramIndex = ParamCollection.Find(strParamName, 0)
   
   'add a current value to the parameter
   ParamCollection.Item(paramIndex).CurrentValues.Add ParamValue

End Sub      

'Pass parameters to the report using the PassParameter subroutine
'This will also work for multi-value discreet parameters
'PassParameter "StringParam", CStr("I am a string")
'PassParameter "StringParam", CStr("I am also a string")
'PassParameter "NumberParam", CInt("123")
'PassParameter "CurrencyParam", CDbl("321.123")
'PassParameter "BooleanParam", CBool("True")
'PassParameter "DateParam", CDate("2001/Jan/02")
'PassParameter "TimeParam", CDate("3:45:00 PM")
'PassParameter "DateTimeParam", CDate("2001/Jan/02 3:45:00 PM")
'PassParameter "res_id", 725
For each item in Request.QueryString
'response.write item & "********" &  Request.QueryString(item) & "<br>"
if item <> "ReportName" then
    response.write item & ": " & CStr(Request.QueryString(item)) & "<br>"
    PassParameter item, CStr(Request.QueryString(item))
end if
next

'Store the modified collection of parameters in session as it is used by the viewer code
Set Session("ParamCollection") = ParamCollection

'Redirect to viewer code
Response.Redirect "CrystalReportViewer.asp"

%>
As you can see this redirects to the Viewer the code for that is

<%@ Language=VBScript %>
<%

'Create the Report Viewer object
'Set HTMLViewer = CreateObject("CrystalReports.CrystalReportViewer")
Set HTMLViewer = Session("ObjFactory").CreateObject("CrystalReports.CrystalReportInteractiveViewer")
Set rptAppSession = Session("ObjFactory").CreateObject("CrystalReports.ReportAppSession")
    rptAppSession.Initialize
    If Err.Number <> 0 Then
        Response.Write "Failed to initialize ReportAppSession."
        Response.Write "Error message: " & Err.Description
        Err.Clear
    End If                                                        
Set OpenReport = rptAppSession.CreateService("CrystalClientDoc.ReportClientDocument")

'Supply the viewer with information it needs and set any viewer attributes
With HTMLViewer
    .ReportSource = Session("pathReport")
    .IsOwnPage = True
    .IsEnableDrillDown = True
    .IsDisplayGroupTree = False
End With

'Check that ParamCollection is not null or empty
If Session("ParamCollection").Count > 0 Then
    HTMLViewer.ParameterFields = Session("ParamCollection")
End If

'Display the report in the viewer
HTMLViewer.ProcessHttpRequest Request, Response

%>
vairavamuthu,

I don't understand what you are refering to
why not set user/password in Crystal Enterprise 9's management Console!
here is the pop up I am getting.  The only software I have running on the server is RAS  My users are getting anoyed and I don't know what to do

The report you requested requires further information.
--------------------------------------------------------------------------------
Database Logon
 
Server Description dbName
Database Type ODBC (RDO)
User Id  
Password  
 
 


 

this should solve it, i take you are using the eportfolio lite
http://support.businessobjects.com/library/kbase/articles/c2013600.asp
I am not using eportfolio light.  I am just using the viewers from an asp page.  The entire code for my asp pages is includeded above.  According to your documentation link it says to change a specific line in my code.  My code does not contain that line.  
I got the latest sample files from Crystal and everything was resolved using these updated files.
ASKER CERTIFIED SOLUTION
Avatar of modulo
modulo

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial