Работа с CLOB, улучшение производительности

Database
Этот пост может пригодиться, если работаем с LOB-объектам в базе данных Oracle. Предыстория: Есть динамически сформированные XML-документы, которые хранятся в Global Temporary Table (GTT), и которые хочется сконвертировать в CLOB и сохранить в базе. Это реальный пример, документы - это MS Excel или MS Word документы, сформированные с использованием возможностей MS Office формировать документы с использованием WordML и XML Spreadsheet. (more…)
Read More

SMTP+attached files vs Antivirus

Database
Ура, одержана победа :) противостояния антивируса и передачей почтового сообщения с прикрепленными файлами средствами SMTP. Предыстория Давно создал пакет в СУБД Oracle, который использует UTL_SMTP для отправки из базы писем. Все работало отлично, пока на одном из проектов письмо пришло некорректным, а именно: приаттаченный файл имел неправильное имя, расширение .dat и не раскодированным. Иными словами: когда мы посылаем письмо, то прикрепляем файлы посредством перекодировки в base64. Например, средствами шаблона мы генерируем какой-нибудь отчет или документ (например, в MS Excel или MS Word), полученный CLOB кодируем в base64 и вставляем в письмо. Отсылаем. Получатель получает письмо, которое содержит прикрепленный документ. Так вот, когда получатель открывает письмо, то в аттаче у него оказывается кодированный в base64 текст документа :( Решение Все оказалось просто до банальности :). При отправке с почтового сервера, письмо…
Read More

Метод наименьших квадратов

Database
Век живи - век учись. За 15 лет первый раз потребовалось работать со статистикой :). В проекте для планирования и прогнозирования потребовалось обрабатывать данные за предыдущие годы для формирования прогноза на следующий. Для реализации выбраны две методики - среднее значение, и значение, полученное методом наименьших квадратов. Вот тут и задумался, как реализовать вторую методику, насколько "зависнет" дальнейшая разработка, пока буду реализовывать само решение метода. Однако, какое облегчение - все давно реализовано в самой СУБД (SQL Language Reference): REGR_ (Linear Regression) Functions The linear regression functions are: REGR_SLOPE REGR_INTERCEPT REGR_COUNT REGR_R2 REGR_AVGX REGR_AVGY REGR_SXX REGR_SYY REGR_SXY Первых двух функций как раз достаточно. Единственное, надо обратить внимание на результат, если в выборке одна пара значений - вернется NULL, и это правильно. Тогда, например, можно взять для прогноза то же значение, что и…
Read More

Удаление Oracle Database под Windows

Database
Возникла необходимость удалить базу данных Oracle 11g из-за сбоя при установки (в смысле сбой не при установке самой базы, а при некорректных шагах по интеграции). Выяснились нюансы :) Beginning with 11.2, the Oracle Universal Installer will no longer be used to remove Oracle software from an environment. A new Deinstall tool is shipped with the Oracle Products and is also available for download on OTN Это из нотки "How to Manually Remove Oracle Server Software on Microsoft Windows Platforms (Doc ID 1069034.1)" (more…)
Read More