иморта
запросы отваливаются с такой ошибкой
Code: 24. DB::Exception: Cannot write to ostream at offset 3336315: While executing ODBCDriver2BlockOutputFormat. (CANNOT_WRITE_TO_OSTREAM) (version 23.3.13.6 (official build))
с чем это может быть связано?
спасибо!
Таймаут клиента не смотрели?
bi 2 часа может ожидать выполнение запроса
Похоже, что сервер запрос уже выполнил и пытается передать результат клиенту. А клиент за время выполнения запроса уже отвалился. Если, например окно запросов Power Query в Excel открыто, он может отправить серверу запрос несколько раз (по system.query_log смотрели). А клиент ждёт только результатов последнего. Остальные вызовут "Cannot write to ostream..." , т.к. результатов уже никто не ждёт. С подобной ошибкой сталкиваемся.
если увеличеть время ожидания можем решить проблему?
"А клиент ждёт только результатов последнего." Обновление прошло, получается можно игнорировать эту ошибку, bi дождался последнего запроса ?
Да, можно игнорировать. Проблема в том, что лишние запросы дополнительно нагружают сервер. В последних версиях КХ появилась возможность кэширования запросов, но она кэширует только уже исполненные запросы. А если отправить несколько одинаковых запросов за короткое время, то сервер их все будет исполнять, но результаты первых отправятся "в топку"
Я тяну данные с 21-23 год Если один раз исполнить запрос с 21-22 гол То каждый раз, когда pq будет обращаться клику, клик будет отдавать данные из кэша? Было бы круто сделать наподобие инкремента Т.к в rs bi мы сильно ограничены
В этой статье отлично описано почему bi отправляет 2-а запроса и как этого избежать https://blog.crossjoin.co.uk/2020/07/05/why-is-power-bi-running-my-sql-query-twice/
Спасибо за хорошую статью, попробуем рецепт из неё
ODBC драйвер похоже не поддерживает нормально работу с NativeQuery
Обсуждают сегодня