четверг, 12 мая 2011 г.

Конвертация даты из внутреннего формата MSSQL

Переводил базу из MsSQL в MYSQL. Стандартные инструменты из MySQL Migration Toolkit оказались бессильны перед этой базой - кодировка портилась, хоть тресни. Пришлось конвертить ручками, через SQL скрипты. Все было хорошо.. пока не обнаружилось, что в MSSQL-ном скрипте в некоторых таблицах данные типа DateTime оказались записаны в виде:
CAST(0x00008F5800000000 AS DateTime) //2000-06-21 00:00:00
CAST(0x00008F5900000000 AS DateTime) //2000-06-22 00:00:00
Это - внутренний формат даты в MSSQL. Вопрос - как из внутреннего формата преобразовать дату в нормальный вид?

вторник, 10 мая 2011 г.

Перенос данных с Firebird 1.5 на Firebird 2.5

Появилась необходимость перетащить базу с Firebird 1.5 на Firebird 2.5. После полуторки были еще FB 2.0 и FB 2.1, структура базы поменялась значительно. Почитал форумы - выяснилось, что наиболее надежный способ переноса базы - заново пересоздавать базу из скриптов на FB2.5.

С переносом метаданных все понятно - с помощью IBExpert извлекаем метаданные (команда Extract Metadata) из базы под FB 1.5 и создаем новенькую пустую базу на FB 2.5. А вот как перетаскивать сами данные?

Несмотря на то, что в IBExpert есть множество средств импорта/экспорта данных, готового инструмента для переноса данных между базами - нет. К счастью, IBExpert поддерживает мощный скриптовый язык IBEBlock. И на нем достаточно просто создать скрипт с требуемой функциональностью. Далее расскажу подробнее о получившемся скрипте и опишу итоговую процедуру переноса базы с FB1.5 на FB2.5.

пятница, 29 апреля 2011 г.

Android. Реализация SendEmail

Отправить email из приложения. Это типичная задача, с которой сталкиваешься при разработке под Android. И делов то всего - скопипастить готовый код. Но есть несколько особенностей, которые легко пропустить... и потратить кучу времени в поисках ошибки.

четверг, 14 апреля 2011 г.

Применение Data Mining в космических приложениях.

Выкладываю свою статью "Применение Data Mining в космических приложениях". Статья обзорная и содержит информацию взятую исключительно из открытых источников. Все ссылки ведут на полнотекстовые PDF.

Статья была опубликована в прошлом году, в сборнике трудов конференции "Интеллект и наука". Полная ссылка: В.В. Деревянко, "Применение Data Mining в космических приложениях", Интеллект и наука: труды X Международной научно-практической конференции "Интеллект и наука" (г. Железногорск, 28-29 апреля 2010 г) - Красноярск: ИПК СФУ, 2010. - 344 с (страницы 26-33).

Публикуется с любезного разрешения ИПК СФУ.

вторник, 12 апреля 2011 г.

Делокализация Delphi приложения

Достался мне недавно в сопровождение проект на Delphi. Проект старый и довольно большой по объему. Все бы ничего, да только написан он был датскими программистами для датских клиентов. В результате - GUI на датском, текстовые сообщения в исходниках - на датском, комментарии - на датском. Даже названия функций - и те во многих случаях написаны по датски.

Я датский практически не знаю. Для нормальной работы мне нужен английский язык. Комментарии не проблема - их можно перевести прямо в исходниках. А вот что делать с самими исходниками?. С одной стороны, все строки в исходниках должны быть написаны на английском. С другой стороны, для пользователя ничего не должно измениться. Интерфейс программы был на датском языке, значит должен оставаться на датском.

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

Далее речь пойдет о том, как все это было сделано.