【问题标题】:PHP ODBC to HANA/SAP returns less results than expectedPHP ODBC 到 HANA/SAP 返回的结果少于预期
【发布时间】:2018-02-16 07:15:57
【问题描述】:

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

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

现在我在脚本中执行来自 HANA 的 SAME 查询,得到的结果比我预期的要少得多,有时是 3 个,有时是 148 或 1.3k 个结果。

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

其他有趣的事实:我之前用 C# 编写了一个工具,它也使用 SAME odbc 连接到 HANA。当我在我的 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 软件中 - 这不是我们想要的。

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

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

【问题讨论】:

  • 天啊,你真的拯救了我的一天!它确实是我的 ODBC-DSN 字符串中的参数“CHAR_AS_UTF8=true”。现在我遇到了问题,数据太多,脚本中止,但这是另一个问题,与此无关。感谢您的回复,我几乎搜索了所有相关内容,但找不到您发布的帖子。
  • 刚刚添加了一个答案,以便您可以将问题标记为已回答。

标签: c# php odbc sap hana


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 2016-04-12
    • 1970-01-01
    相关资源
    最近更新 更多