Crystal Runtime升级后的PELogOnSQLServerWithPrivate问题

2020-09-04 12:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我试图将Crystal运...

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

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


嗨,

我试图将Crystal运行时从CR 2008升级到CR2013。我以前安装了SAP Crystal Reports 2013(Developer SDK)和Crystal Runtime2008。在开发框中完成了步骤:

卸载了Runtime 2008,并安装了运行时引擎13

现在的问题是,当我从.Net代码运行报表时,收到以下错误:

PELogOnSQLServerWithPrivateInfo'已使堆栈不平衡。这可能是因为托管的PInvoke签名与非托管的目标签名不匹配。 检查PInvoke签名的调用约定和参数是否与目标非托管签名匹配。

关于声明: PELogOnSQLServerWithPrivateInfo(" PDSODBC.DLL",m_RdoConn.hDbc)

能否请您告知我为什么收到此错误,该如何解决?

这是安装问题,还是新版本的crpe32.dll/PELogOnSQLServerWithPrivateInfo用法有所更改?

GAC中缺少新的Crystal运行时,我从项目

CrystalDecisions.Enterprise.Framework.dllCrystalDecisions.Enterprise.InfoStore.dll中删除了它们的引用。

PS:我是Crystal的新手,这是一个遗留应用程序,请告诉我是否应该提供更多信息。

(6.3 kB)
付费偷看设置
发送
3条回答
代楠1984
1楼-- · 2020-09-04 13:05

您是使用较新版本的SDK重新编译软件还是仅替换了运行时?

Crystal 2008 .NET SDK与Visual Studio 2008和.NET 2.0兼容,不能与 任何其他版本的VS。 较新的Crystal .NET SDK仅可与Visual Studio 2010或更高版本以及.NET 3.5或更高版本一起使用。 同样,您似乎已安装了较早版本的运行时。

您可以通过Wiki进入下载页面,以获取最新版本的SDK与Visual Studio的集成以及随附的运行时安装选项。 : https://wiki.scn.sap .com/wiki/display/BOBJ/Crystal + Reports%2C + Developer + for + Visual + Studio + Downloads 。 请阅读页面上的信息,因为需要进行一些代码更改。 转到实际的下载页面时,使用橙色按钮获取将集成安装到VS的.exe。 它下方的蓝色按钮用于各种运行时选项,可用于部署应用程序。 我现在将下载它们中的一个或全部,因为用于编译应用程序的版本必须与运行时版本匹配,以便正常工作。 不要在开发计算机上安装任何运行时,只需安装与VS的集成即可。

-Dell

吹牛啤
2楼-- · 2020-09-04 13:07

Hi Rohit,

打印 您使用的引擎调用不再受支持。 而且我相信PELogonSQLServerWithPrivateInfo已作为来自打印引擎的调用被删除。 现在有更好的方法来连接到现有的数据库连接。

LogonInfo看起来很适合您。 这类似于旧的调用PELogonInfo。 因此,您需要确保报告中的每个表都已登录。 您也可以查看LogonServer。 这将替换PELogonServer。

确保删除PE调用的所有引用,并用新方法替换它们。 完成此操作后,我非常确定错误将得到解决,并且组树将正确显示。

祝你好运

Brian

Nir深蓝
3楼-- · 2020-09-04 13:20

嗨,戴尔,

我了解

SDK依赖性。

为了使生产工作向后兼容,我计划采用另一种方法,即创建两个报告模块,一个使用旧版本创建,另一个使用较新版本创建。 并且主应用程序根据用户计算机上可用的程序集/运行时预加载报告模块和程序集。

如果有13.xx版本可用,则将其加载,而将新Reports_new.dll加载,则该应用程序将恢复为常规程序集加载,即版本12.xx和Report.dll(old)

这似乎工作正常,并使应用程序向后兼容。

一周热门 更多>