Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > .NET General

Vista - Using Crystal Reports in VB.NET code on Citrix application server

Reply
 
Old 03-26-2009   #1 (permalink)
RW


 
 

Using Crystal Reports in VB.NET code on Citrix application server

Hi,

How can I force the tempory report file for a Crystal Report to be written
in the folder I want.

I tried it to do it in the constructor of the report class. It's ignored.

Public Sub New()
MyBase.New()

Dim tempPath As String = "\\myServer\myDirectory\" &
System.Security.Principal.WindowsIdentity.GetCurrent().Name.Substring(System.Security.Principal.WindowsIdentity.GetCurrent().Name.IndexOf("\")
+ 1).ToUpper() & "\Temp\"
If System.IO.Directory.Exists(tempPath) = False Then
System.IO.Directory.CreateDirectory(tempPath)
End If
Dim tempFileName As String = System.Guid.NewGuid().ToString.ToLower
& ".rpt"
m_sTempFilename = tempPath & tempFileName

End Sub

I tried to do it on the moment the report is assigned as reportsource to a
reportviewer in a dialogform. Gives an error "Report can not be loaded", but
loads it anyway and ignores the given path.

Private Sub dlgReport_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim oReport As Reports.MyReport = CType(crViewer.ReportSource,
Reports.MyReport)
Dim tempPath As String = "\\myServer\myDirectory\" &
System.Security.Principal.WindowsIdentity.GetCurrent().Name.Substring(System.Security.Principal.WindowsIdentity.GetCurrent().Name.IndexOf("\")
+ 1).ToUpper() & "\Temp\"
If System.IO.Directory.Exists(tempPath) = False Then
System.IO.Directory.CreateDirectory(tempPath)
End If
Dim tempFileName As String = System.Guid.NewGuid().ToString.ToLower
& ".rpt"
oReport.FileName = tempPath & tempFileName
crViewer.RefreshReport()
End Sub

The real problem is that my code runs correctly on my PC, but on the Citrix
server where it is published, it gives this error:

The connection can not be made
temp_36cf1a26-ad41-472c-9d2d-690e525bd94c
{81FF3D89-BF38-40A6-BCA2-B1AAD5350C15}.rpt

As the connection string to the database is correct, and all other ADO.NET
related code works, it could only be a security problem on the moment the
tempory file is made. In other words the program on the Citrix server does
not have the permission to write the tempory report file.
I tried to find out where the tempory report is written by trying to give a
message at run time:

Dim oReport As Reports.MyReport = CType(crViewer.ReportSource,
Reports.MyReport)
MessageBox.Show(oReport .FileName)

Only results in an empty string.

In Debug mode I get the same. But when I ask for the QuickWatch for the
oReport object, after some secondes the real FileName is given and after that
the MessageBox.Show(oReport .FileName) command gives me also the correct
result.

Unfortunatly I can't debug on the Citrix server. And as such I can't find
the tempory file name.

Can anybody help me in this.

I'm using Studio.NET 2008, SQL Server 2005 and Crystal Reports 12


Thanks,

--
RW

My System SpecsSystem Spec
Reply

Thread Tools


Similar Threads
Thread Forum
RE: How to trace what's Crystal Reports is doing? .NET General
SetDataSource very slow in crystal reports .NET General
crystal reports Vb2005 .NET General
Crystal Reports .NET General
confused about crystal reports with .NET 2.0 and C#[need basicadvice] .NET General


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46