powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Переход на MSSQL
17 сообщений из 17, страница 1 из 1
Переход на MSSQL
    #36454694
Гость_20100208
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

На нашем предприятии используется FoxPro 2.6 (DOS) и Visual FoxPro.
Есть необходимость начать перевод программы с DBF на MSSQL. Однако простая конвертация не подходит, так как программы на базе Visual FoxPro и FoxPro 2.6 используют перекрестные файлы баз данных. В связи с этим решили на базе MSSQL делать прослойку из Linked Server и написание хранимых процедур для обращения к файлам DBF. В последствии при полном переходе на Visual FoxPro достаточно будет только исправить указания-ссылки с файлов на таблицы в базе данных MSSQL.

Покритикуйте это решение, пожалуйста. Может быть кто-то уже сталкивался с подобной задачей и/или таким методом ее решения?

p.s. сейчас есть проблемы с безопасностью - довольно затруднительно настроить ее в MSSQL для Linked Server.

Заранее спасибо.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36455627
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В MS SQL можно делать Views. В качестве источника данных для View можно указать таблицы из Linked-сервера.

Поскольку пространство имен для Views и Tables в MS SQL одно и то же (нельзя сделать и Table, и View с одинаковыми именами), то после завершения перехода на MS SQL, останется просто удалить View и создать Table с тем же именем.

А клиентские приложения просто не отличают Table от View. Поэтому после такой замены ничего в клиентском приложении менять не придется.

==========================================================

Только, как мне кажется, Вы используете не очень разумный подход. Дело в том, что при изменении технологии приложения (переход с FPD на VFP или переход с DBF на MS SQL) меняется практически все. Приходится очень серьезно "перетряхивать" все "потроха" приложения.

Поэтому, то, что сейчас для Вас кажется "естественным" (перекрестные файлы базы данных), при написании приложения на MS SQL будет выглядить, в лучшем случае, как сильно "притянутое за уши". Даже как временная мера на "переходный период".

В целом, не получится "перейти по частям" (видимо, Вы именно это хотите сделать). Тут либо все, либо ничего. Либо сразу перейти на новую технологию, либо не связываться вообще.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36455955
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ В целом, не получится "перейти по частям" (видимо, Вы именно это хотите сделать). Тут либо все, либо ничего. Либо сразу перейти на новую технологию, либо не связываться вообще.
+1

Я бы рекомендовал переписать Ваше основное приложение, которое было бы n-Tiers (многослойное). В этом случае только layer, отвечающий за работу с данными был бы различным для DBF и MS SQL Server...

Идея с хранимыми процедурами просто переносит этот layer в MS SQL Server, думаю, что лучше сделать этот "финт ушами" в самом приложении как я описал выше... Потом его легче будет мигрировать в .NET...

But anyway, good luck!
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36456195
Вадим Прудивус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость_20100208, вдобавок ко всем высказавшимся предлагаю оценить возможность перевода БД на какую-нибудь бесплатную СУБД, например PostgreSQL. Так как никаких наработок под MSSQL у вас еще, видимо, нет, то вам в принципе все равно на какую СУБД переходить. Справедливости ради скажу что перейти на MSSQL вам будет скорее всего легче. Но за него нужно платить деньги, и немалые, с учетом всех требуемых лицензий.
Еще лично мое мнение - перейти на клиент-сервер вам будет легче чем на n-звенку (n >= 3), выигрыш от которой в вашей ситуации весьма сомнителен.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36457166
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Прудивус... Но за него нужно платить деньги, и немалые, с учетом всех требуемых лицензий...
Есть прекарсно работающая легальная бесплатная версия MS SQL Server 2008 с некоторыми ограничениями, но если у Вас будет база данных более 4GB и у компании не будет денег оплатить лицензию, то либо у Вас проблемы с дизайном этой базы данных либо Вы работаете на "неправильную" компанию
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36457327
Гость_20100208
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Большое спасибо за ответы и/или советы :)
По поводу перевода приложения на .NET - смысла большого сейчас в этом не вижу - наработано очень много приложений, а делать доп.слой ввиде например того же MSSQL просто необходимость (сразу скажу связано с поддержкой 152 закона на нашем предприятии - обсуждать не стоит, не та тема).

Размер базы данных для нас сейчас не проблема, так как я уже сказал, что все данные так пока и будут храниться в DBF (напомню, что у нас еще используется FoxPro 2.6 с общими базами), но обращаться нам к ним уже нужно будет посредством ХП, в которых и прописана вся логика обращения к DBF.

Выбор MSSQL был не случайным, данная СУБД уже используется на нашем предприятии, но немного на других задачах (я с ним очень хорошо знаком и знаю, на что он способен :) )

На самом деле проблема заключается именно в том, что я занимался связанными серверами на MSSQL только в разовых разработках (быстро что-то выгрузить и загрузить обратно без какого-либо оперативного чтения и записи и уже тем более без multi-user). Справится ли Linked Server с постоянной нагрузкой в сотни пользователей?

Заранее спасибо
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36457363
Гость_20100208Справится ли Linked Server с постоянной нагрузкой в сотни пользователей?А он что-нибудь про пользователей знает? Вопрос из серии: зачем мне гитара, если я не курю? Пробуйте и не парьтесь дурацкими вопросами.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36457432
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.Гость_20100208Справится ли Linked Server с постоянной нагрузкой в сотни пользователей?А он что-нибудь про пользователей знает? Вопрос из серии: зачем мне гитара, если я не курю? Пробуйте и не парьтесь дурацкими вопросами.
Может и не справится... Проблема тут не в Linked Server а в старом, добром VFP OleDBProvider, который не совсем корректно работает при большом количестве операций... Данный bug так и не был устранен - на все наши жалобы Microsoft просто отмахнулся фразой о том, что если нам нужны высоконагруженные системы, надо использовать для этой цели MS SQL Server, который был создан для этого и там этих проблем нет...

Так что действительно стоит попробовать при полной нагрузке и если будут необъяснимые ошибки при запси и чтении в виде того, что файл заблокирован или access denied, то это значит, что Ваш вариант не работает и надо переходить полностью на MS SQL Server...

But anyway, good luck!
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36459045
Вадим Прудивус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey ChВадим Прудивус... Но за него нужно платить деньги, и немалые, с учетом всех требуемых лицензий...
Есть прекарсно работающая легальная бесплатная версия MS SQL Server 2008 с некоторыми ограничениями, но если у Вас будет база данных более 4GB и у компании не будет денег оплатить лицензию, то либо у Вас проблемы с дизайном этой базы данных либо Вы работаете на "неправильную" компанию
На самом деле Express-версии довольно сильно порезаны по возможностям. В частности - используется только один логический процессор (ядро). А при количестве юзеров порядка 50 хотя бы покупка сервера и всех лицензий выливается в довольно приличную сумму. 4Гб могут забиться довольно легко, очень зависит от задачи. Скажем, в автобизнесе каталог запчастей сам по себе может легко перейти этот предел.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36459090
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Прудивус 4Гб могут забиться довольно легко, очень зависит от задачи. Скажем, в автобизнесе каталог запчастей сам по себе может легко перейти этот предел.Вадим, ну сколько можно твердить одну и ту же мантру? То, что это ограничение на одну базу специально не видим? Как и то, что баз может быть до 32768? Столько хватит? Проектировать базу надо тщательно и тогда в огрничения не скоро упрешься.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36461427
Вадим Прудивус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чё-та нервные вы тут какие-то...

4Гб, конечно, "хватит каждому", но случаи бывают разные. Ну и с точки зрения связности данных таблицы желательно хранить в одной БД. А про ограничение на одно ядро что скажешь?
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36461459
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим ПрудивусА про ограничение на одно ядро что скажешь?ТО, что и так уже сказал - проектировать базу надо тщательно и тогда в ограничения не скоро упрешься.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36462191
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Прудивус А про ограничение на одно ядро что скажешь?
Ограничение не касается ядер.
Ограничение на процессор. А в нем может быть, хоть 16 ядер)))
Все они будут пользованы
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36462989
Вадим Прудивус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо, а ограничение по памяти в 1Гб?

Всё это бесплатный сыр в мышеловке. Когда не хватит возможностей Express-редакции вы будете вынуждены покупать взрослую версию со всеми лицензиями и по взрослым ценам.

Чтобы не разводить холиваров скажу что сам работаю на 2008-м, и очень им доволен. Но новый проект поднимал бы на PostgreSQL.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36463135
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим ПрудивусХорошо, а ограничение по памяти в 1Гб?

Всё это бесплатный сыр в мышеловке. Когда не хватит возможностей Express-редакции вы будете вынуждены покупать взрослую версию со всеми лицензиями и по взрослым ценам.

Чтобы не разводить холиваров скажу что сам работаю на 2008-м, и очень им доволен. Но новый проект поднимал бы на PostgreSQL.
Ну если приложение серьезное, то затраты на прокупку самого SQL Server 2008 составляют очень малую долю общей стоимости проекта.
С уважением, Алексей
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36463225
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Прудивус,

Ваш совет о PostgreSQL мне кажется очень сильно притянутым за уши.
Доводов за него только 1, он бесплатный. Но вопрошающий и не собирается платить за софт.
Если компания дорастет до платного MS SQL, то она его несомненно купит.
Но у автора будет ОПЫТ работы с востребованным на рынке продуктом. Его собственная стоимость, будет несомненно выше, чем стоимость знающего PostgreSQL.
...
Рейтинг: 0 / 0
Переход на MSSQL
    #36464446
Вадим Прудивус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KВадим ПрудивусХорошо, а ограничение по памяти в 1Гб?

Всё это бесплатный сыр в мышеловке. Когда не хватит возможностей Express-редакции вы будете вынуждены покупать взрослую версию со всеми лицензиями и по взрослым ценам.

Чтобы не разводить холиваров скажу что сам работаю на 2008-м, и очень им доволен. Но новый проект поднимал бы на PostgreSQL.
Ну если приложение серьезное, то затраты на прокупку самого SQL Server 2008 составляют очень малую долю общей стоимости проекта.
С уважением, Алексей
Если это одноразовый проект, то может быть и так, а если это тиражируемое ПО, то надо считать.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Переход на MSSQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]