|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Здравствуйте! На нашем предприятии используется 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. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 09:32 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
В MS SQL можно делать Views. В качестве источника данных для View можно указать таблицы из Linked-сервера. Поскольку пространство имен для Views и Tables в MS SQL одно и то же (нельзя сделать и Table, и View с одинаковыми именами), то после завершения перехода на MS SQL, останется просто удалить View и создать Table с тем же именем. А клиентские приложения просто не отличают Table от View. Поэтому после такой замены ничего в клиентском приложении менять не придется. ========================================================== Только, как мне кажется, Вы используете не очень разумный подход. Дело в том, что при изменении технологии приложения (переход с FPD на VFP или переход с DBF на MS SQL) меняется практически все. Приходится очень серьезно "перетряхивать" все "потроха" приложения. Поэтому, то, что сейчас для Вас кажется "естественным" (перекрестные файлы базы данных), при написании приложения на MS SQL будет выглядить, в лучшем случае, как сильно "притянутое за уши". Даже как временная мера на "переходный период". В целом, не получится "перейти по частям" (видимо, Вы именно это хотите сделать). Тут либо все, либо ничего. Либо сразу перейти на новую технологию, либо не связываться вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 15:20 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
ВладимирМ В целом, не получится "перейти по частям" (видимо, Вы именно это хотите сделать). Тут либо все, либо ничего. Либо сразу перейти на новую технологию, либо не связываться вообще. +1 Я бы рекомендовал переписать Ваше основное приложение, которое было бы n-Tiers (многослойное). В этом случае только layer, отвечающий за работу с данными был бы различным для DBF и MS SQL Server... Идея с хранимыми процедурами просто переносит этот layer в MS SQL Server, думаю, что лучше сделать этот "финт ушами" в самом приложении как я описал выше... Потом его легче будет мигрировать в .NET... But anyway, good luck! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 17:12 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Гость_20100208, вдобавок ко всем высказавшимся предлагаю оценить возможность перевода БД на какую-нибудь бесплатную СУБД, например PostgreSQL. Так как никаких наработок под MSSQL у вас еще, видимо, нет, то вам в принципе все равно на какую СУБД переходить. Справедливости ради скажу что перейти на MSSQL вам будет скорее всего легче. Но за него нужно платить деньги, и немалые, с учетом всех требуемых лицензий. Еще лично мое мнение - перейти на клиент-сервер вам будет легче чем на n-звенку (n >= 3), выигрыш от которой в вашей ситуации весьма сомнителен. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 18:52 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Вадим Прудивус... Но за него нужно платить деньги, и немалые, с учетом всех требуемых лицензий... Есть прекарсно работающая легальная бесплатная версия MS SQL Server 2008 с некоторыми ограничениями, но если у Вас будет база данных более 4GB и у компании не будет денег оплатить лицензию, то либо у Вас проблемы с дизайном этой базы данных либо Вы работаете на "неправильную" компанию ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2010, 12:06 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Здравствуйте! Большое спасибо за ответы и/или советы :) По поводу перевода приложения на .NET - смысла большого сейчас в этом не вижу - наработано очень много приложений, а делать доп.слой ввиде например того же MSSQL просто необходимость (сразу скажу связано с поддержкой 152 закона на нашем предприятии - обсуждать не стоит, не та тема). Размер базы данных для нас сейчас не проблема, так как я уже сказал, что все данные так пока и будут храниться в DBF (напомню, что у нас еще используется FoxPro 2.6 с общими базами), но обращаться нам к ним уже нужно будет посредством ХП, в которых и прописана вся логика обращения к DBF. Выбор MSSQL был не случайным, данная СУБД уже используется на нашем предприятии, но немного на других задачах (я с ним очень хорошо знаком и знаю, на что он способен :) ) На самом деле проблема заключается именно в том, что я занимался связанными серверами на MSSQL только в разовых разработках (быстро что-то выгрузить и загрузить обратно без какого-либо оперативного чтения и записи и уже тем более без multi-user). Справится ли Linked Server с постоянной нагрузкой в сотни пользователей? Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2010, 12:46 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Гость_20100208Справится ли Linked Server с постоянной нагрузкой в сотни пользователей?А он что-нибудь про пользователей знает? Вопрос из серии: зачем мне гитара, если я не курю? Пробуйте и не парьтесь дурацкими вопросами. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2010, 12:58 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
проходящий.Гость_20100208Справится ли Linked Server с постоянной нагрузкой в сотни пользователей?А он что-нибудь про пользователей знает? Вопрос из серии: зачем мне гитара, если я не курю? Пробуйте и не парьтесь дурацкими вопросами. Может и не справится... Проблема тут не в Linked Server а в старом, добром VFP OleDBProvider, который не совсем корректно работает при большом количестве операций... Данный bug так и не был устранен - на все наши жалобы Microsoft просто отмахнулся фразой о том, что если нам нужны высоконагруженные системы, надо использовать для этой цели MS SQL Server, который был создан для этого и там этих проблем нет... Так что действительно стоит попробовать при полной нагрузке и если будут необъяснимые ошибки при запси и чтении в виде того, что файл заблокирован или access denied, то это значит, что Ваш вариант не работает и надо переходить полностью на MS SQL Server... But anyway, good luck! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2010, 13:14 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Sergey ChВадим Прудивус... Но за него нужно платить деньги, и немалые, с учетом всех требуемых лицензий... Есть прекарсно работающая легальная бесплатная версия MS SQL Server 2008 с некоторыми ограничениями, но если у Вас будет база данных более 4GB и у компании не будет денег оплатить лицензию, то либо у Вас проблемы с дизайном этой базы данных либо Вы работаете на "неправильную" компанию На самом деле Express-версии довольно сильно порезаны по возможностям. В частности - используется только один логический процессор (ядро). А при количестве юзеров порядка 50 хотя бы покупка сервера и всех лицензий выливается в довольно приличную сумму. 4Гб могут забиться довольно легко, очень зависит от задачи. Скажем, в автобизнесе каталог запчастей сам по себе может легко перейти этот предел. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2010, 22:53 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Вадим Прудивус 4Гб могут забиться довольно легко, очень зависит от задачи. Скажем, в автобизнесе каталог запчастей сам по себе может легко перейти этот предел.Вадим, ну сколько можно твердить одну и ту же мантру? То, что это ограничение на одну базу специально не видим? Как и то, что баз может быть до 32768? Столько хватит? Проектировать базу надо тщательно и тогда в огрничения не скоро упрешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2010, 23:34 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Чё-та нервные вы тут какие-то... 4Гб, конечно, "хватит каждому", но случаи бывают разные. Ну и с точки зрения связности данных таблицы желательно хранить в одной БД. А про ограничение на одно ядро что скажешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2010, 18:00 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Вадим ПрудивусА про ограничение на одно ядро что скажешь?ТО, что и так уже сказал - проектировать базу надо тщательно и тогда в ограничения не скоро упрешься. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2010, 18:08 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Вадим Прудивус А про ограничение на одно ядро что скажешь? Ограничение не касается ядер. Ограничение на процессор. А в нем может быть, хоть 16 ядер))) Все они будут пользованы ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2010, 09:40 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Хорошо, а ограничение по памяти в 1Гб? Всё это бесплатный сыр в мышеловке. Когда не хватит возможностей Express-редакции вы будете вынуждены покупать взрослую версию со всеми лицензиями и по взрослым ценам. Чтобы не разводить холиваров скажу что сам работаю на 2008-м, и очень им доволен. Но новый проект поднимал бы на PostgreSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2010, 13:13 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Вадим ПрудивусХорошо, а ограничение по памяти в 1Гб? Всё это бесплатный сыр в мышеловке. Когда не хватит возможностей Express-редакции вы будете вынуждены покупать взрослую версию со всеми лицензиями и по взрослым ценам. Чтобы не разводить холиваров скажу что сам работаю на 2008-м, и очень им доволен. Но новый проект поднимал бы на PostgreSQL. Ну если приложение серьезное, то затраты на прокупку самого SQL Server 2008 составляют очень малую долю общей стоимости проекта. С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2010, 13:44 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Вадим Прудивус, Ваш совет о PostgreSQL мне кажется очень сильно притянутым за уши. Доводов за него только 1, он бесплатный. Но вопрошающий и не собирается платить за софт. Если компания дорастет до платного MS SQL, то она его несомненно купит. Но у автора будет ОПЫТ работы с востребованным на рынке продуктом. Его собственная стоимость, будет несомненно выше, чем стоимость знающего PostgreSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2010, 14:04 |
|
Переход на MSSQL
|
|||
---|---|---|---|
#18+
Aleksey-KВадим ПрудивусХорошо, а ограничение по памяти в 1Гб? Всё это бесплатный сыр в мышеловке. Когда не хватит возможностей Express-редакции вы будете вынуждены покупать взрослую версию со всеми лицензиями и по взрослым ценам. Чтобы не разводить холиваров скажу что сам работаю на 2008-м, и очень им доволен. Но новый проект поднимал бы на PostgreSQL. Ну если приложение серьезное, то затраты на прокупку самого SQL Server 2008 составляют очень малую долю общей стоимости проекта. С уважением, Алексей Если это одноразовый проект, то может быть и так, а если это тиражируемое ПО, то надо считать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2010, 21:26 |
|
|
start [/forum/topic.php?fid=41&fpage=106&tid=1585604]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 345ms |
total: | 480ms |
0 / 0 |