|
Программирование >> Разработка пользовательского интерфейса
Локальный прототип представляет собой рабочую модель приложения, в которой для описания данных используются таблицы и представления Visual FoxPro. Для переноса баз данных и содержащихся в них таблиц и представлений из локального прототипа на внешний сервер MS SQL Server самый простой путь - использование Мастера наращивания (Upsizing Wizard). Мастер наращивания создает базу данных SQL Server, которая, насколько это возможно, дублирует функциональные возможности таблиц базы данных Visual FoxPro. Вы также можете переадресовать представления Visual FoxPro, чтобы они использовали не локальные данные, а вновь созданные внешние данные. С помощью Мастера наращивания можно выполнить следующие действия: Переместить локальные данные на внешний сервер. Преобразовать таблицы локальной базы данных и локальные представления в таблицы внешней базы данных и внешние представления. Осуществить миграцию локального приложения в приложение клиент-сервер. Хотя Мастер наращивания обращается к серверам SQL Server, вы можете создать приложение клиент-сервер для любого внешнего источника данных ODBC. Для серверов, отличных от SQL Server, можно с помощью функций сквозного запроса SQL создать внешние таблицы, а затем с помощью Visual FoxPro создать внешние представления, осуществляющие доступ к таблицам сервера. Перед проведением наращивания следует убедиться, что вы обладаете необходимыми полномочиями для доступа к серверу, оценить размер базы данных и проверить, достаточно ли места на диске сервера. Кроме того, необходимо предпринять определенные действия в том случае, если наращивание производится на нескольких дисках или устройствах. В первую очередь убедитесь, что на диске сервера достаточно свободного места. Если Мастер наращивания исчерпает все дисковое пространство на сервере, он прекратит работу, оставив на сервере базу данных и устройства в том объеме, в каком сможет их создать. Вы можете удалить неудачно созданные устройства, базы данных и таблицы с помощью средства администрирования SQL Server. Чтобы запустить Мастер наращивания, нужно иметь определенные полномочия на работу с сервером SQL Server, на который будет осуществляться наращивание. Диапазон требуемых полномочий зависит от круга решаемых задач: Чтобы провести наращивание в существующую базу данных, нужны полномочия CREATE TABLE и CREATE DEFAULT. Чтобы построить новую базу данных, нужны полномочия CREATE DATABASE и SELECT на доступ к системным таблицам базы данных Master. Чтобы создавать новые устройства, вы должны быть системным администратором. Когда вы создаете новую базу данных, Мастер наращивания просит выбрать устройства для базы данных и для журнала. Нужно также установить размер базы данных и устройств. Когда сервер SQL Server создает базу данных, он резервирует фиксированную область пространства для этой базы данных на одном или нескольких устройствах. Не вся эта область обязательно будет использована базой данных. Размер базы данных просто определяет границы, до которых база данных может расти, прежде чем будет исчерпано все место. После создания базы данных на SQL Server можно увеличить ее размер. Чтобы оценить размер базы данных, посмотрите, каковы размеры файлов DBF в Visual FoxPro для таблиц, которые вы намерены наращивать, и оцените скорость, с какой будет расти новая база данных на сервере SQL Server. В среднем, каждый мегабайт данных Visual FoxPro требует, по крайней мере, 1,3 - 1,5 мегабайт в среде SQL Server. С помощью наращивания на базе существующего приложения, которое работает на локальном компьютере или файл-сервере, создается приложение, функционирующее в архитектуре клиент-сервер. Создавая приложение, которое вы собираетесь наращивать, необходимо так выбирать особенности проектируемой архитектуры приложения и программной модели, чтобы добиться максимальной производительности работы на внешнем источнике данных. Рассмотрим процесс наращивания приложения, созданного в Visual FoxPro. Этот процесс можно начинать сразу после того, как вы продумаете все детали работы приложения клиент-сервер и будет готов локальный прототип. Если на диске сервера много места, умножьте размер своих таблиц Visual FoxPro на два. Это гарантирует, что у Мастера наращивания будет достаточно пространства для наращивания базы данных и даже останется место для увеличения объема ваших данных в дальнейшем. Если вы рассчитываете добавлять много информации в базу данных, увеличьте величину этого коэффициента. Все базы данных и журналы SQL Server размещаются на устройствах. Устройство - это одновременно и логическая область, в которую заносятся базы данных и журналы, и физический файл. Чтобы создать устройство, SQL Server создает файл, тем самым резервируя на диске определенную часть пространства для собственных нужд. Мастер наращивания показывает, сколько свободного места имеется на существующих устройствах SQL Server. Выберите устройство, на котором объем свободного пространства не меньше , чем оценочный размер базы данных. Если ни одно из существующих устройств не обладает достаточным количеством свободного пространства, можно создать новое устройство с помощью Мастера наращивания. Новые устройства должны иметь размер, по крайней мере не меньший, чем оценочный размер базы данных. Если это возможно, задайте для устройства больший объем, чем требуется для базы данных, чтобы вы смогли впоследствии расширить ее или поместить на то же самое устройство другие базы данных или журналы. Размер устройства изменить нельзя. Убедитесь в том, что вы создаете достаточно вместительные устройства. В большинстве случаев Мастер наращивания обеспечивает контроль над устройствами SQL Server в более чем достаточном объеме. Тем не менее, если на сервере имеется несколько дисков или если вы хотите разместить базу данных или журнал на нескольких устройствах, можно создать устройства до запуска Мастера наращивания. Если на сервере установлено более одного физического жесткого диска, можно разместить базу данных на одном диске, а журнал базы данных - на другом. При сбое диска у вас будет больше шансов восстановить базу данных в том случае, если она разведена с журналом по разным физическим дискам. Мастер наращивания позволяет создавать новые устройства, но только на одном физическом диске - на том, который является устройством главной базы данных Master. Чтобы разместить базу данных и журнал на отдельных дисках, убедитесь, что на обоих дисках имеются достаточно большие устройства, и при необходимости создайте новые устройства. Запустите Мастер наращивания. SQL Server допускает размещение баз данных и журналов на нескольких устройствах. Однако в Мастере наращивания можно задать только одно устройство для базы данных и одно для журнала. Чтобы задать несколько устройств для базы данных или журнала, сделайте эти устройства (и только их) устройствами, принимаемыми по умолчанию. Затем запустите Мастер наращивания и выберите Default для устройства базы данных или журнала. Если для новой базы данных или журнала SQL Server не требуется использовать все устройства, принимаемые по умолчанию, SQL Server задействует только устройства, необходимые для размещения базы данных или журнала. Перед созданием новой внешней базы данных убедитесь в наличии источника данных ODBC или именованного соединения в базе данных Visual FoxPro, осуществляющей доступ к серверу SQL Server. Перед проведением наращивания было бы разумно создать резервную копию базы данных (файлов DBC, DCT и DCX). Мастер наращивания не модифицирует файлы DBF, а работает с файлом DBC непосредственно, открывая его время от времени как таблицу, переименовывая таблицы и представления при создании новых удаленных представлений. Если вы сделали копию базы данных, то сможете возвратить ее в состояние, предшествовавшее началу наращивания, заменив модифицированные файлы DBC, DCT и DCX копиями с исходным содержимым и отменив тем самым все переименования и создание новых представлений. Мастер наращивания пытается открыть все таблицы в базе данных для монопольного пользования, а если какие-либо таблицы уже открыты и имеют статус совместного пользования, то Мастер наращивания закрывает их и открывает вновь в монопольном режиме. Открытие таблиц перед наращиванием в монопольном режиме позволяет предохранить их от попыток пользователей модифицировать записи. Если какие-либо таблицы нельзя открыть для монопольного использования, Мастер наращивания выдает соответствующее сообщение. После того как вы создали источник данных ODBC и сделали все необходимые приготовления на компьютере клиента и на сервере, можно приступать к наращиванию. 1. В меню Tools выберите команду Wizards, а затем выберите Upsizing. 2. Последующий процесс выполняется в диалоговом режиме, в привычном стиле Мастеров, используемых в Visual FoxPro. На рис. 6.33 приведен первый шаг работы - выбор локальной БД. Вы можете в любой момент нажать кнопку Cancel и прекратить процесс. На сервере не выполняется никаких действий, пока не нажата кнопка Finish. Upsizing Wizard step 1 - Local Database Select: WtiJch local database do you want to upsize database to Upsiie: auto store I Open... H
Рис. 6.33. Первый шаг при использовании Мастера наращивания 3. После того как вы нажмете кнопку Finish, Мастер наращивания начинает экспортировать базу данных на сервер. Кнопка Finish становится доступной после введения основной информации, требуемой для наращивания. Если нажать кнопку Finish до того, как будут пройдены все экраны мастера, Мастер наращивания использует для оставшихся шагов значения, принимаемые по умолчанию. Наращивание может занять много времени, что зависит от величины данных, объема сетевого трафика и количества запросов, одновременно обрабатываемых сервером. Большие таблицы могут экспортироваться часами. Например, БД, состоящая из трех таблиц, каждая из которых содержала более ста тысяч записей, у авторов переносилась на сервер дольше 8 часов. Мы, конечно, схитрили и запланировали этот грандиозный процесс на ночь, что позволило избежать утомительного ожидания и горячих споров, когда же нажимать клавиши Ctrl+Alt+Del. Если вы хотите сократить время переноса БД на сервер, советуем вам при возможности удалить из таблиц поля примечаний и поля типа General. В нашем случае после удаления из таблиц полей примечаний процесс переноса занял чуть более 3 часов. После переноса БД эти поля можно восстановить непосредственно на сервере. Если в процессе экспортирования данных Мастером наращивания возникают какие-либо ошибки, он выдает запрос, нужно ли сохранять информацию об ошибках. Если сохранять информацию нужно - генерируется отчет об ошибках. Большинство ошибок связано с недостатком места на устройстве базы данных или журнала на используемом сервере или с недостаточным объемом внешней базы данных, которая не в состоянии принять данные, экспортируемые на сервер. Убедитесь, что на выбранных устройствах много свободного места и что размер базы данных установлен достаточно большим. Чтобы завершить процесс наращивания на сервере, вы можете выполнить следующие действия: Убедиться, что таблицы, которые вы намерены редактировать в Visual FoxPro, являются обновляемыми. Установить полномочия для базы данных, чтобы пользователи могли получать доступ к нужным объектам . Защитить результаты работы, сделав новую базу данных восстанавливаемой на случай повреждения или потери данных. Чтобы таблицу можно было обновлять в Visual FoxPro, она должна иметь уникальный индекс. Мастер наращивания может экспортировать имеющийся уникальный индекс, но не в состоянии создать такой индекс, если он отсутствует. Убедитесь, что таблицы, которые вы намерены редактировать в Visual FoxPro, являются обновляемыми. SQL Server назначает своей базе данных и ее объектам набор полномочий, принимаемых по умолчанию. Установите полномочия для внешней базы данных, чтобы пользователи имели доступ
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |