簡體   English   中英

PHP ODBC 到 HANA/SAP 返回的結果少於預期

[英]PHP ODBC to HANA/SAP returns less results than expected

我有一個非常奇怪的問題。 我在 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.ini 中的一些 odbc 設置。 也許我忘記了什么?

目前還沒有其他選擇可以切換到 c#。 背景:我們想從 SAP 讀取產品,並希望將它們導入新的 PIM 系統。 一些屬性將保留在 SAP 中,因此不僅是初始導入,而且是稍后在 SAP 中的 2-3 個屬性之間的比較,然后我們每次都需要在 PIM 軟件中導入。 不,我們以后也不能將這些字段移動到 PIM 軟件中——這不是我們想要的。

我昨天整天都在搜索這個問題,但我找不到其他人有這個問題。 我希望有一個人可以幫助我。

有沒有人也有這個問題的PHP? 我真的希望有人能幫助我。

為了避免結果集傳輸中斷的問題,必須在 ODBC-DSN 中設置參數CHAR_AS_UTF8=true

另請參閱如果請求 18 行或更多行,為什么使用 RODBC 來自 SAP HANA 的 sqlQuery 不返回任何數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM