вторник, 26 июля 2011 г. - www.msmirnov.ru

Работа со старыми DTS-пакетами MS SQL Server 2000 в MS SQL Server 2008

Недавно мне пришлось столкнуться с необходимостью работы с набором DTS-пакетов, созданных много лет назад в MS SQL Server 2000 и импортированных в SQL Server 2008.

Отказаться от их использования было нельзя - приложение было написано очень давно и задачи перехода на SSIS не стояло.

SQL Server 2008 обеспечивает корректную работу старых DTS-пакетов, но вот Management Studio 2008 не открывает DTS-пакеты для просмотра и редактирования, выдавая следуюшую ошибку:

"SQL Server 2000 DTS Designer components are required to edit DTS packages. Install the special Web download, “SQL Server 2000 DTS Designer Components” to use this feature. "


Microsoft предлагает скачать и установить SQL Server 2000 DTS Designer Components - см. здесь - (для этого надо будет скопировать 6 файлов (SEMSFC.DLL, SQLGUI.DLL, SQLSVC.DLL, SEMSFC.RLL, SQLGUI.RLL, и SQLSVC.RLL) из установки SQL Server 2000 в каталог с SQL Server 2008).

Однако, это  не решит проблему для случая SQL Server 2008 - после копирования файлов Server 2000 DTS Designer будет запускаться из Management Studio 2008, но корректно работать все равно не будет. Этот способ работает только для случая SQL Server 2005.

В SQL Server 2008 будет выдаваться следующая ошибка:

"Error Source : Microsoft Data Transformation Services (DTS) Package
Error Description : The DTS host failed to load or save the package properly.
"


В Microsoft пока не создали решения этой проблемы для SQL Server 2008, но есть один обходной вариант - пусть не очень удобный, но в случае необходимости он работает.

Следует поставить старый добрый SQL Server 2000 - причем не только сам Enterprise manager, а и ядро сервера - без инстанса работать с DTS-пакетами не получиться.
Причем, ставить нужно SQL Server 2000 SP3 или SP4. С SP2 работать не будет.

После этого необходимо сохранить DTS-пакеты из Management Studio 2008 на диск и открыть файлы на редактирование в Enterprise manager. Сам инстанс SQL 2000 при этом не понадобиться - Enterprise manager будет просто работать с файлами. Затем файлы необходимо опять импортировать в SQL Server 2008.

Способ не очень удобный - каждый DTS-пакет приходится каждый раз гонять туда-сюда, но он работает и поскольку ничего другого сейчас все равно нет - приходится пользоваться таким.

Хорошей новостью является то, что DTS-пакетами можно при этом управлять без каких-либо ограничений, так параметры подключений, которые в них указаны, в этом случае подключаются, как правило не к текущему серверу, а к SQL Server 2008, что облегчает работу с ними.
Мой сайт - www.msmirnov.ru

среда, 20 июля 2011 г. - www.msmirnov.ru

Какие вопросы задавать заказчику на первой встрече?

Я руковожу в основном продуктовой разработкой.


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

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

 Итак, вопросы.

  1. Общие вопросы. 
    • Как называется проект?
    • Каковы цели реализации проекта?
    • Каковы предпосылки (в том числе экономические), приводящие к инициации проекта?
    • Как вы сможете понять, что проект успешен?
    • Кто, кому и как будет сдавать проект?
    • Каковы должны быть результаты проекта, по которым можно будет судить о степени его завершенности?
    • Какие ограничения проекта существуют (по времени, по бюджету, по техническому обеспечению, оборудованию, доступу к информации и пр.)?
    • Существуют ли какие-либо стандарты либо законодательные акты, которые необходимо соблюдать при работе над проектом?
    • В каком виде предполагается последующая поддержка проекта?
  2. Команда проекта. 
    • Кто будет осуществлять руководство проектом со стороны заказчика?
    • Обладает ли он достаточными полномочиями для этого?
    • Кто ответственен за принятие ключевых решений со стороны заказчика?
    • Кто обладает достаточными знаниями для формирования требований к проекту?
    • Кто еще будет входить в состав проектной группы со стороны заказчика?
  3. Влияние проекта.
    • Кто будет затронут результатами внедрения проекта?
    • Какие могут быть сложности или особые условия в процессе внедрения?
    • Предполагается ли какая-либо миграция или одновременная работы с некими старыми системами?
    • Предполагается ли обучение персонала как часть проекта?
    • Кто будет пользователями проекта?
    • При работе над проектом, либо при его внедрении - будут ли задействованы какие-либо сторонние организации либо ваши подразделения, не являющиеся непосредственными пользователями (например, поставщики либо получатели каких-либо данных)?
  4. Риски
    • Какова квалификация пользователей проекта?
    • Будет ли обеспечен доступ в рабочую среду для проведения тестирования и раннего внедрения результатов проекта?
    • Существуют ли сотрудники, на стороне заказчика, не заинтересованные в реализации проекта?
Мой сайт - www.msmirnov.ru

вторник, 19 июля 2011 г. - www.msmirnov.ru

Visual Paradigm for UML

На днях мне довелось поработать с Visual Paradigm for UML 8.0.

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

Но, как мне показалось, что инструмент слегка перегружен. Тот же Enterprise Architect от Sparx мне показался более стройным и логичным что-ли.

К сожалению, не удалось толком сделать reverse engeneering базы MS SQL - нужного драйвера для Java в поставке не оказалось, а качать и устанавливать не хотелось.

Вообще, в плане инструментов моделирования, мне кажется что наиболее пригодны к использованию те, которые непосредственно интегрированы в среду разработки и позволяют как можно легче выполнять преобразования диаграмм в код и обратно (т.е. поддерживать диаграммы в актуальном состоянии). В этом плане Visual Studio, конечно, находится в выигрышной позиции - она позволяет все это делать, но, правда, в самой дорогой своей редакции Ultimate (что, конечно же, не является плюсом).

Для меня эталоном удобства по работе с UML остается Rational XDE - очень удобный продукт времен Visual Studio 2003, который, к сожалению, не выпускается уже наверное лет 8. Очень жаль что IBM прекратила его поддержку - очень мощный и удобный был инструмент.
Мой сайт - www.msmirnov.ru

пятница, 15 июля 2011 г. - www.msmirnov.ru

Китайский код

Не смог удержаться, чтобы не запостить небольшой образчик китайского кода, который попался на глаза мне на днях.
Это не прикол – это реальный кусочек кода приложения.


            string s = Request.QueryString["action"];
            // s may have "restore" or "remove" values

            switch (s[2])
            {
                case 's':
                case 'S':
                    ..............
                    break;

                case 'm':
                case 'M':
                    ..............
                    break;

            }


Как говорится, это было бы смешно, если бы не было так грустно……
Мой сайт - www.msmirnov.ru