Мигриране на данни от Visual FoxPro към платформа клиент-сървър

Напоследък разработчиците имат все по-голяма нужда да пренасят приложения, създадени за базата данни на Visual FoxPro, към платформата клиент-сървър. Най-лесният начин за прехвърляне на данни е да използвате Growth Wizard.

Съветникът за растеж създава база данни на SQL Server, която дублира, доколкото е възможно, функционалния обхват на базата данни на Visual FoxPro. Със съветника за разширение можете:

  • конвертирате локални базови таблици и локални изгледи в отдалечени базови таблици и отдалечени изгледи;
  • преместете локални данни към отдалечен сървър;
  • мигрирайте локални приложения към среда клиент-сървър.

Изграждането може да отнеме много време; зависи от количеството данни, количеството мрежов трафик и броя на едновременните заявки, обработвани от сървъра. За големи маси растежът може да отнеме няколко часа.

В тази глава ще използваме Growth Wizard за мигриране на данни от Visual FoxPro към база данни на SQL Server.

Използване на съветника за растеж за мигриране на данни към база данни на SQL Server

Преди да продължим с процеса на мигриране на данни от Visual FoxPro към SQL Server, нека да разгледаме характеристиките и ограниченията, свързани с мигрирането на полета, изрази и правила за интегритет на таблици.

Съвпадение на типа данни

Съответствие на типовете данни на представянето на Visual FoxPro и MS SQL Server в табл. 23.1.

Таблица 23.1. Съвпадение на типа данни

Съпоставяне на изрази от Visual FoxPro към SQL Server от съветника за растеж

Въпреки че Visual FoxPro и Transact-SQL споделят няколко функции, много функции на Visual FoxPro не се поддържат в SQL Server. Изрази на Visual FoxProсъдържащи се в правилата за валидиране на ниво поле и на ниво запис, както и в стойностите по подразбиране, съветникът за растеж се опитва да конвертира в TransactSQL изрази, като използва съпоставянията, показани в таблица 1. 23.2.

Таблица 23.2. Показване на изрази от Visual FoxPro в SQL Server

Следните функции имат еднакъв външен вид както в Visual FoxPro, така и в SQL Server.

Показване на типове индекси от съветника за нарастване

Индексите на SQL Server и индексите на Visual FoxPro са много сходни. В табл. Фигура 23-3 показва как типовете индекси на Visual FoxPro се преобразуват в типове индекси на SQL Server.

Таблица 23.3. Съпоставяне на типове индекси на Visual FoxPro към типове индекси на SQL Server

Съветникът за растеж използва имена на индекси на Visual FoxPro като имена на индекси в SQL Server. Ако името на индекса се окаже запазена ключова дума, съветникът за растеж променя името, за да добави знака "_" към него.

SQL Server не поддържа възходящи и низходящи индекси и не позволява изрази в сървърните индекси. Съветникът за растеж по време на растеж на индекс премахва изразите на Visual FoxPro от изразите на индекса; на сървъра се изпращат само имена на полета.

Показване на обекти със съветника за нарастване

В табл. Фигура 23.4 показва как обектите от Visual FoxPro се нанасят на SQL Server: Таблица 23.4. Показване на обекти със съветника за нарастване

Показване на правила и референтна цялост от съветника за растеж

В табл. Раздел 23.5 описва тригерите, създадени от Grow Wizard. Всеки конкретен тригер може да съдържа код, който емулира някои (или всички) от изброените функции на Visual FoxPro.

Таблица 23.5. Тригери, създадени от Grow Wizard

Инсталиране на ODBC драйвера

ПредиКато стартирате съветника за разширение, трябва да инсталирате ODBC драйвера за избраната база данни и да дефинирате източника на данни за комуникация с базата данни. Също така е желателно да се дефинира наименувана отдалечена връзка.

Разгледахме инсталирането на ODBC драйвери, дефинирането на източник на данни и създаването на именувана отдалечена връзка в Глава 22.

Избор на база данни и източник на данни

Първата стъпка в съветника за мащабиране е да изберете и отворите локалната база данни, която ще бъде мигрирана към базата данни на SQL Server (Фигура 23-1).

visual

Ориз. 23.1. Избор на локална база данни с изходни таблици

Втората стъпка е да изберете източник на данни. Ако използвате именувана връзка за достъп до източник на данни, съветникът за разширяване ще свърже тази именувана връзка с всички отдалечени изгледи, създадени по време на процеса на разширяване. Ако използвате името на източника на данни вместо името на връзката, когато се регистрирате в източника на данни и след това посочите създаването на отдалечени изгледи, съветникът за разрастване създава именувана връзка с име Upsize (или Upsize2, Upsize3 и т.н., ако вече съществува дефиниция на връзка с предложеното име).

Когато щракнете върху Напред, съветникът ще отвори диалоговия прозорец за влизане в ODBC. Ако използвате наименувана връзка със запазена парола, съветникът ще ви влезе в избрания SQL сървър, без да изисква да въвеждате информация за влизане в ODBC.

Избор на преносими маси

В третата стъпка избирате подреждаеми маси. За да се увери, че експортираните данни са правилни, съветникът се опитва да отвори всички таблици в базата данни, избрана за растеж в изключителен режим. Ако има отворени масиса споделени, съветникът ги затваря и ги отваря отново в изключителен режим, което може да доведе до загуба на някои от времевите връзки, установени с командата SET RELATION или SET SKIP. Всички маси, които не могат да бъдат отворени в изключителен режим, няма да могат да участват в растежа.

Не можете да промените съпоставянето по подразбиране за ключово поле, освен ако новият тип данни не позволява полето да бъде индексирано. Можете да промените съпоставянето за поле, което е част от ключ на индекс, ако изберете индексируем тип данни; след това обаче може да искате да промените типовете данни за останалите ключови полета за последователност. Visual FoxPro издава предупредително съобщение, когато се опитате да промените картографирането за поле, което не е ключово поле, но се използва в индекс на Visual FoxPro. Ако направите грешка, щракнете върху бутона Reset To Defaults и типовете данни ще бъдат нулирани.

Когато Visual FoxPro Table Grow Wizard мигрира, имената на полетата и типовете данни се преобразуват автоматично в полета на SQL Server.

Помощникът ви показва преобразуването на типа данни по подразбиране. Ако е необходимо, можете да промените типа данни на сървъра на базата данни, като използвате падащия списък Тип сървър.

Дефиниране на целевата база данни и нейните параметри

Следващата стъпка е да дефинирате целевата база данни. Ако искате да добавите таблици на Visual FoxPro към съществуваща база данни на SQL Server, можете да изберете да увеличите до размера на съществуващата база данни. В този случай съветникът незабавно преминава към осмия етап.

Ако изберете да създадете нова отдалечена база данни, нейното име може да бъде с дължина до 30 знака, включително букви, цифри, "#", "$" и"_". Не се допускат интервали.

За да създадете нова база данни, трябва да имате съответните разрешения. Ако срещнете проблеми, свържете се с вашия DBA на SQL Server.

Шестата и седмата стъпка определят устройството и размера на базата данни и регистъра на транзакциите. Размерът на новата база данни трябва да бъде поне 2 MB, което е минималният разрешен размер в SQL Server. SQL Server създава регистър на транзакциите за вашата база данни, който може да се използва за възстановяване на базата данни в случай на сериозни системни грешки. В идеалния случай базата данни и съответният й журнал трябва да се намират на устройства, разположени на различни физически дискове. Тези устройства трябва да бъдат създадени, преди да стартирате Grow Wizard, тъй като той създава всички нови устройства на същия физически диск като главното устройство на базата данни.

По подразбиране Grow Wizard експортира структурата на таблицата и нейното съдържание. Заедно с имената на полетата и типовете данни можете също да експортирате индекси, стойности по подразбиране, връзки (ограничения за интегритет на ниво връзка) и правила.

Индексите и настройките по подразбиране на Visual FoxPro стават индекси и настройки по подразбиране на SQL Server. Ако изберете да експортирате правила, съветникът за растеж се опитва да експортира правила на ниво поле и правила на ниво ред към SQL Server, което води до превръщането им в съхранени процедури, които се извикват от задействания на SQL Server. Експортираните релации на таблици също стават част от тези тригери.

Ако увеличавате връзките на таблиците, не забравяйте да увеличите и вашите индекси, в противен случай производителността може да бъде значително влошена.

Ако имате само един физически диск, трябва да поставите основатаданни и тяхната история на различни устройства, така че да можете да използвате командата DUMP TRANSACTION SQL сървър.

клиент-сървър

Ориз. 23.2. Проект за информация за миграцията

платформа

Ориз. 23.3. Част от доклада за напредъка на растежа на базата данни

На последния етап можете да изберете следните опции за завършване на разширението:

  • извършване на растеж без генериране на SQL код;
  • генерира само SQL код за изграждане;
  • извършете изграждането и генерирайте SQL кода.

Първата и третата опция са налични само ако имате привилегията CREATE TABLE на SQL сървъра. Ако изберете една от опциите за съхраняване на генерирания SQL код, тогава целият SQL, генериран от Grow Wizard, ще бъде записан на вашия твърд диск.

Съветникът за разширение създава проект за отчет (Фигура 23.2), който съдържа таблиците, използвани за мигриране на данни от таблици на Visual FoxPro, както и отчети за мигриране на данни (Фигура 23.3).