PHP ODBC到HANA / SAP返回的结果少于预期

时间:2018-02-16 07:15:58

标签: c# php odbc sap hana

我有一个非常奇怪的问题。我在HANA Studio中编写了一个HanaSQL查询。一切都很好,它返回我预期的所有结果 - 约43k。

然后我在php中编写了一个odbc连接,它将连接到SAP。在那之前一切正常。

现在我在我的脚本中执行来自HANA的SAME查询,得到的结果远远少于我的预期,有时为3,有时为148或1.3k。

问题是什么: 问题可能是,查询中的数据太多了。这真是一个我需要阅读的大平台(81列,不是由我制作的,我别无选择)。所以,如果我选择较少的列,我会收到更多的结果。假设我只是从产品中选择ItemCode / SKU,然后我收到所有43k产品,这没关系。现在我要添加第二列,让我们说“名称”,它大多比产品的SKU长。现在我只收到了13k物品。当我添加第三列“描述”时,我只收到1.3k的结果。我认为结果的大小就是问题。

其他有趣的事实:我之前写过一个C#工具,它也使用与HANA的SAME odbc连接。当我在我的PHP脚本中使用相同的查询时,我也会像在HANA中一样获得所有结果。

我正在使用Windows机器,所以我想“好吧,也许XAMPP就是问题”。所以我在我自己的第二台机器上尝试了相同的东西,安装了Linux mint(GUI),也在这里与Ubuntu 16一起使用的服务器上。当我使用php时,我总是得到相同的结果。

所以我认为问题不能与hana连接(它不能,因为它在C#工具中运行良好)。此外,它不是查询,因为我获得了我在HANA和C#工具中所期望的所有结果。它也不是操作系统问题,它在3个不同的系统上进行了测试,并且总是有不同的php版本(另外5和7分别进行了测试)。

我还在php中检查了一些odbc设置。也许我忘了什么?

目前还有 - 无法切换到c#。背景:我们希望从SAP读取产品并希望将它们导入新的PIM系统。一些属性将保留在SAP中,因此它不仅仅是初始导入,而且还是SAP之后的2-3个属性之间的比较,然后我们每次都需要在PIM软件中导入这些属性。不,我们以后也不能将这些字段移到PIM软件上 - 这是不需要的。

我昨天整天都在搜索这个问题,但我找不到其他人这个问题。我希望有人可以帮助我。

有没有人也有这个PHP的问题? 我真的希望有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

为了避免中断结果集传输的问题,必须在ODBC-DSN中设置参数CHAR_AS_UTF8=true

另见Why does sqlQuery from SAP HANA using RODBC return no data if request 18 or more rows

相关问题