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

2020-08-22 07:28发布

         点击此处--->   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);
 }
 

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

         点击此处--->   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条回答
骆驼绵羊
1楼-- · 2020-08-22 08:14

基于错误对象,该对象未设置为对象的实例,通常是在构造函数和您确实具有的" new"关键字上,但是...在HanaConnection对象上...是否指向 正确的名称空间? 我有一个具有类似属性的类似应用程序...

Sap.Data.Hana.v4.5 dll 64位版本和.net 4.5正常工作

悠然的二货
2楼-- · 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位

绿领巾童鞋
3楼-- · 2020-08-22 08:14

我想知道您是否尝试了第一个hana驱动程序(v 2.03.106.44071),它可以工作吗? 根据您的描述和提供的详细信息,那是您设置的唯一区别,对吗?

我想知道在2.03.144.33424中还有什么不同吗?

您是否尝试过检查连接状态? (仅考虑其他测试用例,以查看连接在初始化后是否保持打开状态)

https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/2.0.02/zh-CN/469dacc66d611014bf4ab2ccf4930afd.html

天桥码农
4楼-- · 2020-08-22 07:51

是, 对象指向正确的命名空间,即Sap.Data.Hana。 从图像可以推断出问题不是在我创建新HanaConnection的那一行上引起的,而是代码中的" lower",即sap ado.net 尝试加载未管理/本机的库。

葫芦娃快救爷爷
5楼-- · 2020-08-22 08:10

您好,

这是最新的 ADO.NET 提供程序中的回归错误。 它将在即将发布的2.4.x版驱动程序中修复-我将在可用时在此处发布该消息。

请继续使用较旧的驱动程序作为解决方法。

感谢和问候,

Jeff

蓋茨
6楼-- · 2020-08-22 08:05

我在运行的服务器上安装了hana驱动程序v 2.03.106.44071,但现在客户端应用程序也无法正常运行。
我无法检查连接的 声明,因为我什至无法打开新连接; 这就是代码中断的地方。

一周热门 更多>