无法将IIS上托管的Web应用程序通过ADO.NET连接到SAP HANA

2020-08-22 07:28发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我正在开发一个在IIS上托...

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

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


您好,
我正在开发一个在IIS上托管的Web应用程序,并且试图连接到SAP HANA失败。
在下面您可以看到错误。

为了调试该应用程序,我创建了一个测试应用程序,该程序不执行任何操作,但使用Sap.Data.Hana.v4.5 dll打开与数据库的连接。 我做了同样的工作,创建了从命令行运行的客户端应用程序。

第一次尝试,我仅使用已安装的HANA驱动程序的64位版本进行了测试。 客户端应用程序运行良好,Web应用程序崩溃并显示与上述相同的错误。
然后,我安装了32位版本的HANA驱动程序,结果与以前相同。

请注意,我使用服务器的dll编译了两个应用程序,目标平台是AnyCPU,.NET 4.5。

系统规格:

  • Windows Server 2012 R2
  • 64位操作系统,基于x64的处理器
  • IIS 8
  • 网站
    App Pool 4.0集成了
    已启用32位应用程序:false
  • Hana驱动程序版本:2.03.144.33424

我有另一台服务器,因为在进行此测试时已经部署了Web应用程序,并且它可以正常工作。 该服务器与我现在正在操作的服务器规格相同,但Hana驱动程序版本为2.03.106.44071。

在下面,您可以找到我编写的连接到SAP HANA的代码。

 HanaConnection conn =新的HanaConnection(" Server = ; UserID = ; Password = ");
 尝试
 {
     conn.Open();
     conn.Close();
 }
 捕获(HanaException异常)
 {
     System.Diagnostics.Debug.WriteLine(exception.Errors [0] .Source +":" +
                      exception.Errors [0] .Message +"(" +
                      exception.Errors [0] .NativeError.ToString()+")",
                      "连接失败");


     System.Diagnostics.Debug.WriteLine(exception);
 }
 

可能是什么问题?
在此先感谢,
萨拉

8条回答
悠然的二货
2020-08-22 07:56

我有相同的应用程序 问题,我还尝试使用以下代码通过单元测试项目来隔离问题

 [TestClass]
     公共类UserModelTest
     {
         [测试方法]
         公共无效TestConnection()
         {
          //写一个有效的测试连接字符串
           var conn = new HanaConnection("");
         }
     } 

该项目以Sap.Data.Hana.v4.5库为参考,该库已在GAC中注册。

这是图书馆的详细信息

 Sap.Data.Hana.v4.5,Version = 2.3.144.0,Culture = neutral,PublicKeyToken = 0326b8ea63db4bc4,processorArchitecture = MSIL

 policy.2.3.Sap.Data.Hana.v4.5,Version = 2.3.144.0,Culture = neutral,PublicKeyToken = 0326b8ea63db4bc4,processorArchitecture = MSIL 

运行测试后,我会遇到相同的问题

测试名称:TestConnection
 测试结果:失败
 测试时间:0:00:00,3562131

 结果StackTrace:
 在Sap.Data.Hana.HanaUnmanagedDll.SearchNativeDlls()
    在Sap.Data.Hana.HanaUnmanagedDll..ctor()
    在Sap.Data.Hana.HanaUnmanagedDll.get_Instance()
    在Sap.Data.Hana.HanaConnection..cctor()
 ---内部异常堆栈跟踪的结尾---
     在Sap.Data.Hana.HanaConnection..ctor(字符串connectionString)
    在AraucoUnitTesting.UserModelTest.TestNewUser()

 结果消息:
 测试方法AraucoUnitTesting.UserModelTest.TestNewUser引发了异常:
 System.TypeInitializationException:'Sap.Data.Hana.HanaConnection'的类型初始值设定项引发了异常。  ---> System.NullReferenceException:对象引用未设置为对象的实例。
 

当项目具有作为输出类型的类库时,该库似乎不起作用

当我在控制台应用程序或Windows应用程序中使用该库时,它运行正常,我需要在一个具有类库输出的Web应用程序项目中工作。

我的项目在Framework 4.7中构建,并且我的服务器具有以下属性。

Windows Server 2016 Standard
处理器:Intel(R)Xeon(R)CPU E5-2697A v4 @ 2.60Ghz
RAM 16GB
系统类型:64位

一周热门 更多>