Но нигде явно не настроена возможность обновления данных в этих источниках «на лету».
Чаще всего внешние файл – источники используются как связь с данными пользователей (выгрузка из 1С, какие-то Экселевские (куда без него) книги). И файлы эти имеют свойство изменяться.
Но, прописав связь с внешним файлом, вы заметите что любые изменения внесенные в данные файла не отобразятся в вашем «answer»-е. (Попробуйте на репозитории paint, например)
Как это исправить?
1.Случай с XML-источником.
Для начала проиллюстрирую проблему.
Создадим простейший «ответ» с данными об описаниях продуктов.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0RMbbXoTdDt9EAouWZwVQ2I2VcAp9QCNuE0ryEfGX4GoGM0VCO4kZOLTfVZtIVvtlVrZ3LQPzzH7qiLyXFEZppMtE_6WcPlYVJm2YLZfJYC6UXP0IXAaiZr4pD82tlGE0jWLVv-MyUg99/s400/img1.png)
Изменим описание первого в списке продукта.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPsWBee30Sn4R9YJrnhXuXYgyV7tXJqCUWxPkoe5A5gz2mutv_oMGZNmYxijfcpq3F3e5yHmGDo0lBwdNrJKGiBSKSrE6C6IrbRtv_rpRlm8r22z6OPLDJ65BixczXEyfzny1qiz5HBZvR/s400/img2.png)
Удостоверимся, что для нашего «ответа» выключен Кеш сервера презентаций.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2UATks6-Dsvj56VWTVZrPex81X2_-kCSzjHcHcUdNPMrdCVvYHmHxoSUx0FjTikrzsTzH3-trEXQ9hCaO8_nckV-3CIH8Z2c2DhHC2oYIXWxXKCVyOA6zYusDnHvb10mMNAtbW76pJqcD/s400/img3.png)
Удостоверимся, что выключен Кеш BI сервера.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUNCfGlA19QDTdwQUYNYYTq5W-fl_kGkbDYyMmdfzK5xhCdCELxeI9Jh1E2vCqwN_PJDmBMsNj1hfl8fsGI_Rq1oG1KjR4lDh_HImR6hyphenhyphenMCNBo3IoJybuwlpPeQIv4bpVRj3ysX-c6KZe1/s400/img4.png)
Попробуем даже указать, что данная таблица не является кешируемой (хотя для XML-таблиц это свойство несущественно).
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT5CZP9wLL_U_5UujoxYaPl_Qxo5lzpgcNdH_akCbm1PyM3iyOsxkm8r1VwRmTCd5fyFEhV_kzEJXQ_kzWUQPapXN-1sUvOBEokJT9O7iLavZpczu6ecR6swWV3oTxL9zBBNo_UiCi_eUS/s400/img5.png)
Посмотрим результат «ответа» - данные те же.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0RMbbXoTdDt9EAouWZwVQ2I2VcAp9QCNuE0ryEfGX4GoGM0VCO4kZOLTfVZtIVvtlVrZ3LQPzzH7qiLyXFEZppMtE_6WcPlYVJm2YLZfJYC6UXP0IXAaiZr4pD82tlGE0jWLVv-MyUg99/s400/img1.png)
Изменения будут отображаться только при перезапуске BI сервера, но это не вариант…
Если посмотреть в документации, то становится понятно, что нужно настроить свойство «URL refresh interval», НО вся соль в том, что это свойство должно настраиваться не на уровне таблицы физического слоя, а на уровне пула соединений!
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMREgOREJLmGzcebLTSL7o_6kzwEASN7qbzctNY00V9v22byplYYUirpoZrBtg63DqqSXpB4rGcsK55REsy4VmmpUG619GR_9zC3TQGbEirXeqGFghB5IU8QZ-DVLURMpTCYwx-EiKN68J/s400/img6.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGQXezV51GYkc0gVoeDHc3b1H8vaLp-eBWl_CdPEYi4JWAVuA-ta9Li2cKR_pXcCOXqjKlkeACxnuSKN7UqkOW1nXsdIpqjGdqx4gsmVdSM_11fvf7UKGCbKIwzkBG0cWieH9rv4uUMU9O/s400/img7.png)
Теперь изменения, производимые «на лету» в данных XML-источников будут доступны через тот отрезок времени, который вы укажете.
Фактически, XML-источники всегда «находятся в Кеше», и свойство «URL refresh interval» аналогично «Cache persistence time» для обычных таблиц.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnOOhQ3K3Ic9Ujo6klMSZz_DsytcgYyy657YA2B8l5Uiz9FJU_lkfdQSD0pkSaKVktGGQ4PliWHJQfsh5VJARNfcq9KwwbdUJtwTlnARRSiuQVC1UCMPbDza4-aJX5GZZc4OpEawHlcEly/s400/img8.png)
Кстати, никакой привязки к конкретному файлу-источнику нет. Вы вправе «на лету» не только изменить данные используемого файла, но и сам файл заменить на другой (с тем же именем и структурой).
2.Случай с Excel-файлом.
John Minkjan разобрал этот случай на своем блоге: obiee-changing-xls-excel-data-on-fly
Комментариев нет:
Отправить комментарий