【求助】VB.Net高手们进来瞅一瞅啦, CR问题 [ MacArthur ] 于:2006-11-07 16:24:22
正在学习VB.Net中,这个问题可能在高手眼里比较弱,多多包涵...
最近在用VB.Net 2002 + CrystalReport给别人做一个小小的reporting tool,非常简单,就是从OracleDB里读取数据然后通过CrystalReport生成Excel报表。
边学边做,VB的intellisense挺不错的,上手比较容易,表扬一个。
在我的开发机上,什么问题都没有了,Excel报表也能一次生成,毫无问题。
好了,作了个Setup Project,把所有东东包裹一下,生成一个MSI。
这个MSI里头,包括了"Database_Access.msm", "Database_Access_enu.msm"和"Regwiz.msm",还包括两个.rpt文件,因为用户有可能随后需要调整报表格式。
把MSI往用户机器上一装,却出问题了:Logon Failed
这个错误在VB/CR用户中似乎很常见,有不少文章都在谈论如何解决之。
可问题在于,别人都是在开发阶段遇上的这个问题,无论如何都可以debug一步步地看进程;到我这里呢,在自己的机器上没事儿,送到别人机器上就有事儿了,没法debug!
记得西河当初报家门的时候颇有几位.Net高手,请大家帮帮忙,分析分析是咋回事儿...
附上生成报表的源程序,希冀有人能瞅出端倪...
多谢多谢
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Private Sub generateCryatalReport(ByVal strReportName As String)
Dim strReportPath As String = Application.StartupPath & "\" & strReportName & ".rpt"
'Dim strReportPath As String = strReportName & ".rpt"
Try
If Not IO.File.Exists(strReportPath) Then
Throw (New Exception("Unable to locate report file:" & vbCrLf & strReportPath))
End If
Dim strSQL As String = "Select * From WLCM_PKG"
Dim DA As New System.Data.OleDb.OleDbDataAdapter(strSQL, dBConPaps)
Dim DS As New DataSet()
DA.Fill(DS)
Dim rptWKIT As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
rptWKIT.Load(strReportPath)
rptWKIT.SetDataSource(DS.Tables(0))
Dim DiskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptions()
rptWKIT.ExportOptions.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
rptWKIT.ExportOptions.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.Excel
DiskOpts.DiskFileName = "c:\" & strReportName & "_Report.xls"
rptWKIT.ExportOptions.DestinationOptions = DiskOpts
rptWKIT.Export()
Catch x As Exception
MessageBox.Show(x.Message + x.Source + x.StackTrace, "Report Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
... 共 》