Программисты на Visual Basic, занимающиеся разработкой клиент-серверных приложений, найдут программу sp_Assist 1.0B фирмы Sheridan Software Systems (Мелвилл, шт. Нью-Йорк) интересным инструментом для генерации хранимых процедур СУБД SQL Server корпорации Microsoft, объектов баз данных и кода на Visual Basic. К сожалению, недавно выпущенная программа ценой $595 полна мелких недочетов  от плохо функционирующих пунктов меню до опечаток на экране.

Программа sp_Assist представляет собой приложение на Visual Basic 3.0, использующее СУБД Microsoft Access в качестве репозитория объектов. Мы инсталлировали программу и репозиторий на рабочую станцию на основе 66 МГц процессора 486DX2, с 16 Мб ОЗУ, под Windows 95 и подключили базу данных Pubs на SQL Server корпорации Microsoft.

Мы могли редактировать встроенные процедуры и выполнять запросы в окне объектов программы sp_Assist фирмы Sheridan Software

Сначала мы создали новый проект и импортировали все объекты базы данных Pubs в свой проект sp_Assist. Процесс шел быстро, и в результате был создан репозиторий, полный хранимых процедур, триггеров и сценариев создания таблиц, оснащенных индексами и правилами для колонок и значениями по умолчанию. Затем мы вносили в репозиторий объекты баз данных, модифицировали их и компилировали обратно в объекты SQL Server.

Редактируя объекты, мы переносили имена таблиц и колонок из определений таблиц в наши сценарии. Мы также переносили SQL-команды и ключевые слова из окна Keywords программы sp_Assist, содержащего список SQL-команд, в котором можно проводить поиск, и советы по их применению.

Используя единый интерфейс программы, мы автоматически генерировали встроенные процедуры для SQL Server и код на Visual Basic, который работал со встроенными процедурами и базой данных Pubs (см. рис.). Это позволило нам сэкономить время и снизить вероятность появления ошибок в коде.

Генерируемые программой sp_Assist процедуры на Visual Basic конструировали строки SQL и передавали их в SQL Server при помощи опции передачи SQL механизма Microsoft Jet. Мы также могли выбрать генерацию кода для VB SQL или для ODBC.

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

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

Нас также обеспокоило, что фирма Sheridan, очевидно, не уделила достаточного внимания деталям программы sp_Assist. Например, команды Cut и Copy в меню Edit активизировались и деактивизировались не всегда вовремя, а команда Find работала только время от времени. Кроме того, ассистент массового копирования предлагал опции без объяснений, предоставляя нам самим догадываться, что предпринять.

С фирмой Sheridan можно связаться по телефону: (800) 823-4738 или по адресу: http://www.shersoft.com.

Джон Шумэйт

Версия для печати