c # — PHP ODBC для HANA / SAP возвращает меньше результатов, чем ожидалось

У меня очень странная проблема. Я написал запрос HanaSQL в HANA Studio. Все хорошо, он возвращает все результаты, которые я ожидал — около 43к.

Затем я написал соединение odbc в php, которое будет подключаться к SAP. До этого все отлично работает.

Сейчас я выполняю тот же запрос от HANA в своем скрипте и получаю гораздо меньше результатов, чем ожидал, иногда 3, иногда 148 или 1,3 тыс. Результатов.

В чем проблема:
Проблема может заключаться в том, что в запросе слишком много данных. Это действительно большой плоский стол, который мне нужно прочитать (81 столбец, я его не сделал, у меня нет выбора). Итак, если я выберу меньше столбцов, я получу больше результатов. Допустим, я просто выбираю ItemCode / SKU из продукта, затем я получаю все продукты 43k, что нормально. Теперь я добавляю второй столбец, скажем, «имя», которое в основном длиннее, чем SKU продукта. Сейчас я получаю только 13 тысяч предметов. Когда я добавляю третий столбец «описание», я просто получаю 1,3 тыс. Результатов. Я думаю, что размер результата является проблемой.

Еще один забавный факт: я ранее написал инструмент на C #, который также использует ОДНО ЖЕ соединение odbc с HANA. Когда я использую тот же запрос, что и в моем PHP-скрипте, я также получаю, как в HANA, ВСЕ результаты.

Я работаю на машине с Windows, поэтому я подумал: «Хорошо, возможно, проблема в XAMPP». Поэтому я попробовал то же самое на своей второй машине, установленной с Linux mint (GUI), а также на сервере здесь, на работе с Ubuntu 16. Я всегда получаю одинаковые результаты, когда использую php.

Поэтому я думаю, что проблема не может быть в связи с hana (не может, потому что она отлично работает в инструменте C #). Также это не запрос, потому что я получаю все ожидаемые результаты в HANA и C # Tool. Также это не проблема ОС, она была протестирована на 3 разных системах и всегда разных версиях php (также 5 и 7 тестировались отдельно).

Я также проверил некоторые odbc-настройки в php. Может я что то забыл?

В настоящее время нет альтернативы переходу на c #. Справочная информация: мы хотим прочитать продукты из SAP и импортировать их в новую систему PIM. В SAP останется несколько свойств, так что это будет не только первоначальный импорт, но и сравнение позже между 2-3 свойствами из SAP, которые мы каждый раз будем импортировать в программное обеспечение PIM. И НЕТ, мы НЕ можем также перенести эти поля в программное обеспечение PIM позже — это не требуется.

Я искал проблему вчера весь день, но не смог найти никого другого с этой проблемой. Я надеюсь, что кто-то может помочь мне.

У кого-нибудь тоже были такие проблемы с php?
Я действительно надеюсь, что кто-то может мне помочь.

0

Решение

Чтобы избежать проблемы прерванной передачи набора результатов, параметр CHAR_AS_UTF8=true должен быть установлен в ODBC-DSN.

Смотрите также Почему sqlQuery из SAP HANA, использующей RODBC, не возвращает данных, если запрос 18 или более строк.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]