472,141 Members | 1,240 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

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

Crystal Reports Problem: Please reply ASAP.

Hello All,
I have a Windows application that uses Crystal Reports 9 (bundled Version)
developed using VS.NET 2003 on a windows server 2003 m/c.
The application has to be deployed on the client machine that has Windows
XP installed. Before deploying we make sure that .NET framework 1.1 is
installed on the XP machine. In the setup project, for support for Crystal
Reports, we have added the following merge modules:
1)Crystal_Managed2003.msm
2) Crystal_Database_Access2003.msm
3)Crystal_Database_Access2003_enu.msm
4)Crystal_RegWiz2003.msm
5)VC_User_CRT71_RTL_X86.msm
6)VC_User_STL71_RTL_X86.msm

The problem we are facing is like this: Whenever the user tries to pull up
the reports, a database logon screen pops up for the report. I am unable to
figure out as to why this is happening only for Crystal Reports. All the
other functionality in the application is working fine without having to
specify the database connection information interactively. The database
server is not in the same network as this Client WinXP machine. We specify
the IP address of the DB server in the DB connection string. Could this be a
problem?
If someone has faced this problem earlier or has any solution to this
problem, do let me know. I need to resolve this problem ASAP.

Thanks in advance
Mithun

Jul 21 '05 #1
1 3264
This was a fun problem to solve :). The issue that I came across with this
error was that the database connection/password needed to be set for each
table in the main report as well as any subreports. If there were tables
with the connection information not set, the database login would be
displayed for each table with the missing information.

The code that I used to correct this problem is as follows:

If File.Exists(strReport) Then

Dim crlogInfo As New CrystalDecisions.Shared.TableLogOnInfo()

Dim crConnInfo As New CrystalDecisions.Shared.ConnectionInfo()

Dim intCount As Integer, intRecCount As Integer

Dim strTmp As String

m_crdocReport = New ReportDocument()

m_crdocReport.Load(strReport,
CrystalDecisions.Shared.OpenReportMethod.OpenRepor tByTempCopy)

'Set database for main tables

With crConnInfo

..ServerName = ""

..UserID = ""

..DatabaseName = strDataBasePath

..Password = "mypassword"

End With

crlogInfo.ConnectionInfo = crConnInfo

intRecCount = m_crdocReport.Database.Tables.Count - 1

For intCount = 0 To intRecCount

With m_crdocReport.Database.Tables(intCount)

..Location = strDataBasePath

..ApplyLogOnInfo(crlogInfo)

strTmp &= .Name & " - " & .Location & " : " &
..LogOnInfo.ConnectionInfo.Password & " : " &
crlogInfo.ConnectionInfo.Password & vbCrLf

End With

Next

'MsgBox(strTmp)

strTmp = ""

'Set database for any subreports

Dim crSection As Section

Dim crObject As ReportObject

Dim crSubReport As SubreportObject

Dim astrSubReports() As String

Dim intSubReports As Integer = -1, intSubReportCount As Integer

Dim crSubReportDocument As New ReportDocument()

For Each crSection In m_crdocReport.ReportDefinition.Sections

For Each crObject In crSection.ReportObjects

If crObject.Kind = ReportObjectKind.SubreportObject Then

crSubReport = CType(crObject, SubreportObject)

intSubReports += 1

ReDim Preserve astrSubReports(intSubReports)

astrSubReports(intSubReports) = crSubReport.SubreportName

End If

Next

Next

For intSubReportCount = 0 To intSubReports

crSubReportDocument =
m_crdocReport.OpenSubreport(astrSubReports(intSubR eportCount))

intRecCount = crSubReportDocument.Database.Tables.Count - 1

For intCount = 0 To intRecCount

With crSubReportDocument.Database.Tables(intCount)

..Location = strDataBasePath

..ApplyLogOnInfo(crlogInfo)

strTmp &= .Name & " - " & .Location & " : " &
..LogOnInfo.ConnectionInfo.Password & " : " &
crlogInfo.ConnectionInfo.Password & vbCrLf

End With

Next

'MsgBox(strTmp)

strTmp = ""

Next

Jody


"Mithun Verma" <mi*****@MAQSoftware.com> wrote in message
news:Oi*************@tk2msftngp13.phx.gbl...
Hello All,
I have a Windows application that uses Crystal Reports 9 (bundled Version)
developed using VS.NET 2003 on a windows server 2003 m/c.
The application has to be deployed on the client machine that has Windows
XP installed. Before deploying we make sure that .NET framework 1.1 is
installed on the XP machine. In the setup project, for support for Crystal
Reports, we have added the following merge modules:
1)Crystal_Managed2003.msm
2) Crystal_Database_Access2003.msm
3)Crystal_Database_Access2003_enu.msm
4)Crystal_RegWiz2003.msm
5)VC_User_CRT71_RTL_X86.msm
6)VC_User_STL71_RTL_X86.msm

The problem we are facing is like this: Whenever the user tries to pull up
the reports, a database logon screen pops up for the report. I am unable to figure out as to why this is happening only for Crystal Reports. All the
other functionality in the application is working fine without having to
specify the database connection information interactively. The database
server is not in the same network as this Client WinXP machine. We specify
the IP address of the DB server in the DB connection string. Could this be a problem?
If someone has faced this problem earlier or has any solution to this
problem, do let me know. I need to resolve this problem ASAP.

Thanks in advance
Mithun

Jul 21 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

7 posts views Thread by p | last post: by
17 posts views Thread by Peter Proost | last post: by
1 post views Thread by Mithun Verma | last post: by
reply views Thread by leo001 | last post: by

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.