不一致的错误"加载报告失败"

2020-08-24 14:42发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一份报告。 除了这台机器,其他所有机器都在有问题的机器上运行。 我已经为此工作了两天。 搜寻我的心。 我觉得它必须很简单,因为该报表可以在我的开发机器上运行。 该应用程序是 VB.Net ,当我将其加载到Crystal Reports 2016中时,它将在客户的计算机上运行。 但是,尽管它在开发计算机上运行,​​但并未在客户端的任何计算机上运行。 我已经运行了CRLogger,据我所知,它在CR内部调用上失败了。 我认为问题肯定出在我调用报告的方式上,但是它在Dev Machine上有效并且在现场失败。 客户当前处于关闭状态。 我将开始工作,看看是否可以将更改撤出系统。 我知道这很长,但是我正在努力为您提供足够的信息,以便您更好地提供帮助。 我已经在下面包含了调用代码和CRLogger结果。

以下是设备规格:

显影机

Visual Studio 2019,最新安装。 计算机上只有Visual Studio版本(以管理员模式安装)

Dell XPS,Windows 10、32 GB Ram,I7-9750H处理器

客户机

Visual Studio运行时(当前版本安装了Admin Access)

Windows 10、8 GB Ram,Intel I5-7500T

'********************************************** ******************************************

呼叫代码

'********************************************** ******************************************

     私有Sub btnRunReport_Click(ByVal发送者为System.Object,ByVal e为System.EventArgs)处理btnRunReport.Click
         昏暗多为布尔=假
         将multiReport设置为新的xtraReportFormMultiSelect




         如果String.IsNullOrWhiteSpace(dtpDateEnding.Text)或其他String.IsNullOrWhiteSpace(dtpDateStarting.Text)然后
             msgAlert("请在运行报告之前选择开始日期和/或结束日期。")
             退出子
         万一


         如果dtpDateEnding.EditValue  1然后
             '我们有多个参数要处理
             多=真
         万一


  
         '清除离散参数字段
         multiReport.crParameterDiscreteValue =否
         multiReport.crParameterFieldDefinitions =没什么


        
         multiReport.ItemsSelected = lstAssign.SelectedItems
         multiReport.MdiParent = Me.MdiParent


         如果radEmpWkDt.Checked然后
             multiReport.strReportName =" rptemplwrkdt2l.rpt"


         否则如果radEmpMile。
             multiReport.strReportName =" rptempmileage.rpt"
         否则如果radEmpReim。
             multiReport.strReportName =" rptempreimbursement.rpt"
         否则,如果radEmpPurchase。
             multiReport.strReportName =" rptemppurchase.rpt"
         其他
             msgAlert("请在继续之前选择一个报告。")
         万一


         multiReport.cryRpt.Load(reportPath和multiReport.strReportName)
         调用SetReportSQL(My.Settings.BMI6ConnectionString,multiReport.crV1,multiReport.cryRpt)




         '应用开始和结束日期
     


         '新日期结束例行程序
         '
         暗淡作为参数值
         将DiM ParD作为新的ParameterDiscreteValue()
         par = multiReport.cryRpt.ParameterFields.Item(" dateEnding")。CurrentValues
         ParD.Value = dtpDateEnding.Text
         par.Add(ParD)
         multiReport.cryRpt.DataDefinition.ParameterFields.Item(" dateEnding")。ApplyCurrentValues(par)


    
         "新日期开始
         '
         par = multiReport.cryRpt.ParameterFields.Item(" dateStarting")。CurrentValues
         ParD.Value = dtpDateStarting.Text
         par.Add(ParD)
         multiReport.cryRpt.DataDefinition.ParameterFields.Item(" dateStarting")。ApplyCurrentValues(par)


 
         EmpNo新程序
         '
         par = multiReport.cryRpt.ParameterFields.Item(" empno")。CurrentValues


         昏暗计数为整数= lstAssign.SelectedItems.Count


         对于i = 0计数-1
             ParD.Value = lstAssign.SelectedItems(i)
             par.Add(ParD)


         下一个


         multiReport.cryRpt.DataDefinition.ParameterFields.Item(" empno")。ApplyCurrentValues(par)




         multiReport.Show()


     结束子


     Public Sub SetReportSQL(ByVal ConnectionString As String,
                    ByRef CrystalReportViewer作为CrystalDecisions.Windows.Forms.CrystalReportViewer,
                    ByRef reportDocument作为ReportDocument)
         '获取SQL Server详细信息
         昏暗的生成器作为新的SqlClient.SqlConnectionStringBuilder


         builder.ConnectionString =连接字符串


         Dim zServer As String = TryCast(builder(" Data Source"),String)
         Dim zDatabase As String = TryCast(builder(" Initial Catalog"),String)
         '将zSecurity设为Boolean = Boolean.TryParse(builder(" Persist Security Info"),zSecurity)
         Dim zSecurity As Boolean = Boolean.Parse(builder(" Persist Security Info"))
         Dim zUsername As String = TryCast(builder(" User ID"),String)
         Dim zPassword As String = TryCast(builder(" Password"),String)


         昏暗的ciReportConnection作为新的ConnectionInfo


         ciReportConnection.ServerName = zServer
         ciReportConnection.DatabaseName = zDatabase
         ciReportConnection.IntegratedSecurity = zSecurity
         如果zSecurity = False,则
             ciReportConnection.UserID = zUsername
             ciReportConnection.Password = zPassword
         其他
             reportDocument.DataSourceConnections(0).IntegratedSecurity = True
         万一


         '将数据源详细信息分配给表
         对于每个表作为reportDocument.Database.Tables中的表
             table.LogOnInfo.ConnectionInfo = ciReportConnection
             table.ApplyLogOnInfo(table.LogOnInfo)
         下一个


         对于每个子报表作为reportDocument.Subreports中的ReportDocument
             对于每个表作为subrep.Database.Tables中的表
                 table.LogOnInfo.ConnectionInfo = ciReportConnection
                 table.ApplyLogOnInfo(table.LogOnInfo)
             下一个
         下一个


         '将数据源详细信息分配给报告查看器
         如果CrystalReportViewer.LogOnInfo不存在
             Dim tlInfo如TableLogOnInfos = CrystalReportViewer.LogOnInfo
             对于每个tbloginfo作为tlInfo中的TableLogOnInfo
                 tbloginfo.ConnectionInfo = ciReportConnection
             下一个
         万一
         reportDocument.VerifyDatabase()
         reportDocument.Refresh()
         CrystalReportViewer.ReportSource = reportDocument
         CrystalReportViewer.Refresh()
     结束子


 

CRLogger代码:

 TIMESTAMP THREAD_ID FILENAME LINE_NUMBER LOGGED_DATA LEVEL


 2020-1-29-0-44-8 1576 QESession.cpp 445设置产品视图区域设置:1033 20


 2020-1-29-0-44-8 1576 QESession.cpp 479设置首选视图区域设置:1033 20


 2020-1-29-0-44-8 1576 QESession.cpp 501设置过程区域设置:1033 20


 2020-1-29-0-44-8 1576 qecommon.cpp 117该属性当前处于只读状态,无法修改。 文件名:" QEProperty.cpp"。 线:217 1


 2020-1-29-0-44-12 1576 .. \ .. \ src\ print \ format \ imageretriever.cpp 925调用了销毁API。 未使用图像检索器。 无需清理。  20


 

声明文件


 2020-1-29-0-44-8 1576 .. \ .. \ src\ crpe \ crpemain.cpp 461否


 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一份报告。 除了这台机器,其他所有机器都在有问题的机器上运行。 我已经为此工作了两天。 搜寻我的心。 我觉得它必须很简单,因为该报表可以在我的开发机器上运行。 该应用程序是 VB.Net ,当我将其加载到Crystal Reports 2016中时,它将在客户的计算机上运行。 但是,尽管它在开发计算机上运行,​​但并未在客户端的任何计算机上运行。 我已经运行了CRLogger,据我所知,它在CR内部调用上失败了。 我认为问题肯定出在我调用报告的方式上,但是它在Dev Machine上有效并且在现场失败。 客户当前处于关闭状态。 我将开始工作,看看是否可以将更改撤出系统。 我知道这很长,但是我正在努力为您提供足够的信息,以便您更好地提供帮助。 我已经在下面包含了调用代码和CRLogger结果。

以下是设备规格:

显影机

Visual Studio 2019,最新安装。 计算机上只有Visual Studio版本(以管理员模式安装)

Dell XPS,Windows 10、32 GB Ram,I7-9750H处理器

客户机

Visual Studio运行时(当前版本安装了Admin Access)

Windows 10、8 GB Ram,Intel I5-7500T

'********************************************** ******************************************

呼叫代码

'********************************************** ******************************************

     私有Sub btnRunReport_Click(ByVal发送者为System.Object,ByVal e为System.EventArgs)处理btnRunReport.Click
         昏暗多为布尔=假
         将multiReport设置为新的xtraReportFormMultiSelect




         如果String.IsNullOrWhiteSpace(dtpDateEnding.Text)或其他String.IsNullOrWhiteSpace(dtpDateStarting.Text)然后
             msgAlert("请在运行报告之前选择开始日期和/或结束日期。")
             退出子
         万一


         如果dtpDateEnding.EditValue  1然后
             '我们有多个参数要处理
             多=真
         万一


  
         '清除离散参数字段
         multiReport.crParameterDiscreteValue =否
         multiReport.crParameterFieldDefinitions =没什么


        
         multiReport.ItemsSelected = lstAssign.SelectedItems
         multiReport.MdiParent = Me.MdiParent


         如果radEmpWkDt.Checked然后
             multiReport.strReportName =" rptemplwrkdt2l.rpt"


         否则如果radEmpMile。
             multiReport.strReportName =" rptempmileage.rpt"
         否则如果radEmpReim。
             multiReport.strReportName =" rptempreimbursement.rpt"
         否则,如果radEmpPurchase。
             multiReport.strReportName =" rptemppurchase.rpt"
         其他
             msgAlert("请在继续之前选择一个报告。")
         万一


         multiReport.cryRpt.Load(reportPath和multiReport.strReportName)
         调用SetReportSQL(My.Settings.BMI6ConnectionString,multiReport.crV1,multiReport.cryRpt)




         '应用开始和结束日期
     


         '新日期结束例行程序
         '
         暗淡作为参数值
         将DiM ParD作为新的ParameterDiscreteValue()
         par = multiReport.cryRpt.ParameterFields.Item(" dateEnding")。CurrentValues
         ParD.Value = dtpDateEnding.Text
         par.Add(ParD)
         multiReport.cryRpt.DataDefinition.ParameterFields.Item(" dateEnding")。ApplyCurrentValues(par)


    
         "新日期开始
         '
         par = multiReport.cryRpt.ParameterFields.Item(" dateStarting")。CurrentValues
         ParD.Value = dtpDateStarting.Text
         par.Add(ParD)
         multiReport.cryRpt.DataDefinition.ParameterFields.Item(" dateStarting")。ApplyCurrentValues(par)


 
         EmpNo新程序
         '
         par = multiReport.cryRpt.ParameterFields.Item(" empno")。CurrentValues


         昏暗计数为整数= lstAssign.SelectedItems.Count


         对于i = 0计数-1
             ParD.Value = lstAssign.SelectedItems(i)
             par.Add(ParD)


         下一个


         multiReport.cryRpt.DataDefinition.ParameterFields.Item(" empno")。ApplyCurrentValues(par)




         multiReport.Show()


     结束子


     Public Sub SetReportSQL(ByVal ConnectionString As String,
                    ByRef CrystalReportViewer作为CrystalDecisions.Windows.Forms.CrystalReportViewer,
                    ByRef reportDocument作为ReportDocument)
         '获取SQL Server详细信息
         昏暗的生成器作为新的SqlClient.SqlConnectionStringBuilder


         builder.ConnectionString =连接字符串


         Dim zServer As String = TryCast(builder(" Data Source"),String)
         Dim zDatabase As String = TryCast(builder(" Initial Catalog"),String)
         '将zSecurity设为Boolean = Boolean.TryParse(builder(" Persist Security Info"),zSecurity)
         Dim zSecurity As Boolean = Boolean.Parse(builder(" Persist Security Info"))
         Dim zUsername As String = TryCast(builder(" User ID"),String)
         Dim zPassword As String = TryCast(builder(" Password"),String)


         昏暗的ciReportConnection作为新的ConnectionInfo


         ciReportConnection.ServerName = zServer
         ciReportConnection.DatabaseName = zDatabase
         ciReportConnection.IntegratedSecurity = zSecurity
         如果zSecurity = False,则
             ciReportConnection.UserID = zUsername
             ciReportConnection.Password = zPassword
         其他
             reportDocument.DataSourceConnections(0).IntegratedSecurity = True
         万一


         '将数据源详细信息分配给表
         对于每个表作为reportDocument.Database.Tables中的表
             table.LogOnInfo.ConnectionInfo = ciReportConnection
             table.ApplyLogOnInfo(table.LogOnInfo)
         下一个


         对于每个子报表作为reportDocument.Subreports中的ReportDocument
             对于每个表作为subrep.Database.Tables中的表
                 table.LogOnInfo.ConnectionInfo = ciReportConnection
                 table.ApplyLogOnInfo(table.LogOnInfo)
             下一个
         下一个


         '将数据源详细信息分配给报告查看器
         如果CrystalReportViewer.LogOnInfo不存在
             Dim tlInfo如TableLogOnInfos = CrystalReportViewer.LogOnInfo
             对于每个tbloginfo作为tlInfo中的TableLogOnInfo
                 tbloginfo.ConnectionInfo = ciReportConnection
             下一个
         万一
         reportDocument.VerifyDatabase()
         reportDocument.Refresh()
         CrystalReportViewer.ReportSource = reportDocument
         CrystalReportViewer.Refresh()
     结束子


 

CRLogger代码:

 TIMESTAMP THREAD_ID FILENAME LINE_NUMBER LOGGED_DATA LEVEL


 2020-1-29-0-44-8 1576 QESession.cpp 445设置产品视图区域设置:1033 20


 2020-1-29-0-44-8 1576 QESession.cpp 479设置首选视图区域设置:1033 20


 2020-1-29-0-44-8 1576 QESession.cpp 501设置过程区域设置:1033 20


 2020-1-29-0-44-8 1576 qecommon.cpp 117该属性当前处于只读状态,无法修改。 文件名:" QEProperty.cpp"。 线:217 1


 2020-1-29-0-44-12 1576 .. \ .. \ src\ print \ format \ imageretriever.cpp 925调用了销毁API。 未使用图像检索器。 无需清理。  20


 

声明文件


 2020-1-29-0-44-8 1576 .. \ .. \ src\ crpe \ crpemain.cpp 461否


 
付费偷看设置
发送
3条回答
悻福寶寶
1楼 · 2020-08-24 15:31.采纳回答

好的。 开始。 我不确定我使用的是正确的解释。 但是五天后...。这是发生了什么。

1。 报告文档在表格的初始化例程中被实例化。 使用Visual Studio 2019以某种方式开始检查报告路径,并在我的机器上检查该路径是否存在。 在客户端计算机上,该路径没有。 在旧版本的Visual Studio/CR中,它没有显示此行为。 如果我从未手工编码过CR表单,那么我将永远不会看过初始化例程。 现在一切都很好。

风早神人
2楼-- · 2020-08-24 15:31

好吧,我从客户端计算机上删除了VS2019 Runtime,然后重新安装了VS2013。 但是该应用程序将无法运行。 在启动期间,它在客户的计算机上失败。 因此,我似乎无法向前或向后前进。。。我认为这就是"真正被卡住"的意思。 关于这两个问题的任何想法?

谢谢

-Vernon

暮风yp
3楼-- · 2020-08-24 15:34

第二个请求,希望对此有所帮助。 有什么想法可以尝试吗? 还有其他需要寻找的东西吗?

谢谢

-弗农

一周热门 更多>