应用程序池设置"启用32位应用程序"设置为False时,数据库登录错误

2020-09-21 04:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) SAP团队您好, 几天以来,...

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

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


SAP团队您好,

几天以来,我一直在处理一些使用InterSystems 32位ODBC驱动程序连接到InterSystems缓存数据库的水晶报表。

将报告上载到本地PC,开发服务器和测试服务器上的.NET Web应用程序时,报告工作正常,而将报告上载到生产服务器上的Web应用程序时,出现"数据库登录错误"。 解决此问题时,我注意到DEV,TEST和PROD服务器的应用程序池之间的唯一区别是"启用32位应用程序"设置。

我们请求在PROD服务器上将应用程序池的设置"启用32位应用程序"设置为" True",但是随后整个应用程序都关闭了。 我收到以下错误消息:

解析器错误消息:无法加载文件或程序集'log4net,版本= 1.2.10.0,区域性=中性,PublicKeyToken = 692fbea5521e1304'或其依赖项之一。 找到的程序集的清单定义与程序集引用不匹配。  (来自HRESULT的异常:0x8013104 

我试图在应用程序的Web.Config中删除/注释掉以下引用

 
 

现在,该应用程序已在DEV和TEST服务器上启动并运行,但是在pn PROD服务器上尝试从Web应用程序运行报告时,出现以下错误(也附有):

与DEV和TEST环境相比,我确信PROD环境的设置方式存在一些差异。 我找到了大卫·希尔顿(David Hilton)的以下文章:

log4net.dll和其他错误,例如CrystalDecisions.ReportAppServer。*

在文章中,戴维(David)向用户提到:

将您的应用程序池设置为32位,并为VS 2010部署了64位版本的Crystal Reports。

,或者,您的应用程序池设置为64位,并且为VS 2010部署了32位版本的Crystal Reports。

我试图与服务器团队联系,并要求他们验证Global Assembly Cache是​​否在PROD服务器上具有log4net的程序集。 他们回答说" log4net"程序集在TEST服务器上可用(如下图所示),但在PROD服务器上不可用。

我的问题是:

1。 如果PROD的GAC文件夹中没有log4net程序集,那么服务器上未安装正确版本的CR运行时吗? CR运行时安装设置是否将此log4net程序集添加到GAC文件夹?

2。 为什么CR查看器需要log4net? 它们之间有什么联系? 如果Web应用程序使用Crystal Report Viewer,是否有必要引用log4net程序集?

3。 最初,当我们将应用程序池设置"启用32位应用程序"设置为" False"时,PROD服务器及其上的报告(使用OLEDB)运行良好。 现在,将其设置为" True"时,我们将得到log4net组装错误。 此设置如何影响服务器上的应用程序使用的Crystal Reports和CR运行时?

4。 仅当服务器上的"启用32位应用程序"设置为" TRUE"时,使用InterSystems 32位ODBC驱动程序的报告才起作用。 如果将其设置为" False",则出现"数据库登录错误"。 为了使报告(使用32位ODBC)正常工作,是否需要将"启用32位应用程序"设置为TRUE? 对于使用OLE DB提供程序连接到SQL Server的报表,我们不会收到此错误。

我知道我问了很多问题,但是如果有人可以回答这些问题,我将不胜感激。

最后但并非最不重要的一点是,我们使用的服务器是64位的,我不确定它们上安装了什么版本的CR运行时。 我正在与服务器团队一起使用以下文章查找版本:

确定是否已安装CR运行时?

谢谢

Masood

(73.2 kB)
1条回答
空代码
2020-09-21 04:54

仅供参考,服务器团队刚刚确认TEST服务器同时安装了32位和64位CR运行时引擎,而在PROD服务器上仅安装了64位版本。 希望这些信息对您有所帮助。

谢谢

Masood

一周热门 更多>