当系统根目录不是C:\时,Crystal Report 2008"加载报告失败"

2020-09-09 19:25发布

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

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

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


嗨,我刚刚购买了Crystal Reports 2008 SP2,以从Crystal Reports XI版本2升级。

我的操作系统在F:\而不是C:\驱动器上运行。 我的系统上没有C:\驱动器。

我正在执行以下代码:

...

 ReportDocument reportDocument = new ReportDocument();

 reportDocument.Load(" U:\\ UltraVision3.1Q11DEV \\ UltravisionSuiteSolution \\ Debug \\ rpt_FocalLawSettings_PhasedArray.rpt");
 

...

它会引发异常,并显示消息"加载报告失败",并且内部异常显示"找不到文件"或类似的内容。

此代码在Crystal Report XI版本2中非常有效。升级后,它立即崩溃。

我已经在该论坛上阅读了一些帖子,看到像我这样的其他人也遇到了同样的麻烦,但使用的是Crystal Reports的10.5版和2008年。 他们都获得了有关用户权限问题的答案。 但是我没有。 我运行管理员,不使用IIS或 ASP.NET 或报表服务器。 该报告已本地加载并与本地Access数据库链接。

我已经检查了从环境变量获得的临时路径。 设置为:" F:\ DOCUME 1 \ COMPIL 1 \ LOCALS〜1 \ Temp"。

我要在此文件夹中创建文件或文件夹。

我启动了一个控制台并键入了以下命令:subst c:f:\

此命令创建一个虚拟驱动器,该虚拟驱动器安装在f:驱动器的根目录上。

我重新执行了代码,它运行良好(没有崩溃或异常)。

我认为Crystal Reports 2008在未在C:\上安装OS的系统上无法正常工作,并且没有考虑当前环境变量" TEMP"来确定将报表的临时副本放在何处。

不能更改任何注册表项,因为我们的软件将运行客户拥有的受限制的系统。 我们将无法控制它们。 在Windows Vista或Windows 7上,也不能选择使用系统临时目录,因为它需要管理员权限,并且违反任何IT范式。

最好在Crystal Reports运行时上应用一个更正,以自动为当前用户检测正确的temp目录,或者有一种方法来更改要与API一起使用的临时目录。

谢谢。

编辑:Moony爵士,2009年11月7日上午5:06

语法校正。

编辑:Moony爵士,2009年11月9日下午3:02