Найти в Дзене
Вячеслав Коренев

Аналитическая Система Отчетности МФЦ Part3

Способы получения данных Существует множество систем манипуляцией данных ETL одной из самых развитых на текущий момент условно бесплатных систем Богатый функционал, но как всегда дьявол в деталях ... Было решено использовать не очень правильный, но действенный способ написать небольшие скрипты для трансформации данных познания в области стандартных средств дайверов системы ODBC и скачанные с сайта https://www.postgresql.org/ftp/odbc/versions/msi/ созданные несколько системных DSN (data source name) позволили завязать MSSQL и PostgreSQL Для написания скриптов был использованы Vbscript, который в последствии настроен на автоматический запуск через scheduler перенос данных сопровождался очисткой от лишней информации содержащей сведения не подлежащие распространению согласно требований действующего законодательства. пример скрипта открытия базы данных для извлечения данных Set DB = CreateObject("ADODB.Connection") DB.Open "Name1" Query = "select * from Table1" Set Result = DB.Execute(

Способы получения данных

Существует множество систем манипуляцией данных ETL одной из самых развитых на текущий момент условно бесплатных систем

система PENTAHO
система PENTAHO

Богатый функционал, но как всегда дьявол в деталях ...

Было решено использовать не очень правильный, но действенный способ написать небольшие скрипты для трансформации данных

познания в области стандартных средств дайверов системы ODBC и скачанные с сайта https://www.postgresql.org/ftp/odbc/versions/msi/

созданные несколько системных DSN (data source name) позволили завязать MSSQL и PostgreSQL

Для написания скриптов был использованы Vbscript, который в последствии настроен на автоматический запуск через scheduler

перенос данных сопровождался очисткой от лишней информации содержащей сведения не подлежащие распространению согласно требований действующего законодательства.

пример скрипта открытия базы данных для извлечения данных

Set DB = CreateObject("ADODB.Connection")
DB.Open "Name1"
Query = "select * from Table1"
Set Result = DB.Execute(Query)
While Not Result.EOF
Result.Fields(0).Value
Result.Fields(N).Value
Result.MoveNext
WEnd

для работы хранилища данных использовалось свободная СУБД Postgresql 9.4, но в ходе экспериментов пришлось провести обновление до версии Postgresql 10.4 в которой было улучшена работы операторов INSERT UPDATE Предложение ON CONFLICT позволяет задать действие, заменяющее возникновение ошибки при нарушении ограничения уникальности или ограничения-исключения.

новые инструкции для обработки обновления записей внедрены были в версии 9.5. но на момент формирования актуальная была 10.4 она и была принята за основу.