Куда мигрировать с MsSql server?
От: dmitry251  
Дата: 02.04.22 10:16
Оценка:
Всем привет,
Вопрос наверное риторический, но я все таки спрошу… есть довольно обьемное приложение, которое использует ms sql. В текущей ситуации надо бы куда то мигрировать. Приложение на vb.net . Использует стандартный Фреймворк .net без всяких обёрток, т.e. в коде жестко прописаны сейчас запросы типа SELECT * FROM TABLE1 и т.п., с параметрами.

Как попробовать обойтись малой кровью? Посмотрел postgresql, но там типы данных чуть отличаются, надо переписывать структуру… плюс синтаксис запросов вроде немного другой, операторы там и тп. может есть что-то готовое, типа опен-сорс клон ms sql… если нет, то подскажите как бы вы поступили в моей ситуации… спасибо
Re: Куда мигрировать с MsSql server?
От: smeeld  
Дата: 02.04.22 12:08
Оценка: 3 (1) +6 -3 :)))
Здравствуйте, dmitry251, Вы писали:

D>Посмотрел postgresql, но там типы данных чуть отличаются


И везде будут отличаться. Причём, это не в postgres или где-то ещё отличаются, это в MS отличаются: у MS своё уникальное видение всего, сделанное специально отличающимся от остального мира. Так у них во всём. Так что с иглы MS нужно слезать кардинально всё меняя. После будет сильно легче переходить между системами и продуктами.
Re: Куда мигрировать с MsSql server?
От: paucity  
Дата: 02.04.22 13:03
Оценка: -1
Здравствуйте, dmitry251, Вы писали:

D>… есть довольно обьемное приложение, которое использует ms sql. В текущей ситуации надо бы куда то мигрировать.

А зачем? "Работает, вот и ничего не трогай"
Re: Куда мигрировать с MsSql server?
От: vaa  
Дата: 02.04.22 13:08
Оценка:
Здравствуйте, dmitry251, Вы писали:

D>Всем привет,

D>Вопрос наверное риторический, но я все таки спрошу… есть довольно обьемное приложение, которое использует ms sql. В текущей ситуации надо бы куда то мигрировать. Приложение на vb.net . Использует стандартный Фреймворк .net без всяких обёрток, т.e. в коде жестко прописаны сейчас запросы типа SELECT * FROM TABLE1 и т.п., с параметрами.

D>Как попробовать обойтись малой кровью? Посмотрел postgresql, но там типы данных чуть отличаются, надо переписывать структуру… плюс синтаксис запросов вроде немного другой, операторы там и тп. может есть что-то готовое, типа опен-сорс клон ms sql… если нет, то подскажите как бы вы поступили в моей ситуации… спасибо


ну правильно все же переписать. на самом деле это не сложно.
чтобы не сильно кардинально,
воспользуйтесь https://sqlkata.com/docs/compilers + dapper
один раз перепишите, потом будет легче перейти на другую СУБД.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Куда мигрировать с MsSql server?
От: Слава  
Дата: 02.04.22 16:11
Оценка: 2 (1) +1
Здравствуйте, dmitry251, Вы писали:

D>Всем привет,

D>Вопрос наверное риторический, но я все таки спрошу… есть довольно обьемное приложение, которое использует ms sql. В текущей ситуации надо бы куда то мигрировать. Приложение на vb.net . Использует стандартный Фреймворк .net без всяких обёрток, т.e. в коде жестко прописаны сейчас запросы типа SELECT * FROM TABLE1 и т.п., с параметрами.

D>Как попробовать обойтись малой кровью? Посмотрел postgresql, но там типы данных чуть отличаются, надо переписывать структуру… плюс синтаксис запросов вроде немного другой, операторы там и тп. может есть что-то готовое, типа опен-сорс клон ms sql… если нет, то подскажите как бы вы поступили в моей ситуации… спасибо


1) Выделите слой доступа к данным
2) Перепишите этот слой на C#
3) Подключите linq2db и замените ручные запросы на linq, создав схему данных
4) Скопируйте схему данных и переработайте её под postgres, заменив неподходящие типы в схеме
5) Подключите проект к postgres'у

Вам потребуется перегнать данные из ms sql в postgres, для этого вы можете взять например kettle pentaho, или написать свою собственную программу преобразования, с использованием тех двух схем.
Re: Куда мигрировать с MsSql server?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 02.04.22 21:24
Оценка: 87 (4) +3
Здравствуйте, dmitry251, Вы писали:

D>Всем привет,

D>Вопрос наверное риторический, но я все таки спрошу… есть довольно обьемное приложение, которое использует ms sql. В текущей ситуации надо бы куда то мигрировать. Приложение на vb.net . Использует стандартный Фреймворк .net без всяких обёрток, т.e. в коде жестко прописаны сейчас запросы типа SELECT * FROM TABLE1 и т.п., с параметрами.

Зачем вы мигрировать хотите?
1) Если приложении уже работает на купленном (украденном)MS SQL Server пусть работает. Все новые законы обратной силы не имеют, на уже используемый софт не распространяются.
2) Если вы поставляете новые экземпляры приложения, то рассмотрите бесплатный MS SQL Express, возможно вам хватит даже localdb
3) Если же вам надо срочно поменять windows на linux, то база данных станет для вас наименьшей проблемой, так вам придется переписать код с vb.net на C# и с .NET FW на .NET Core\5\6, там уже и postgres достаточно. При этом на Linux доступен тот же бесплатный sql express.
Re: Куда мигрировать с MsSql server?
От: Tom Россия http://www.RSDN.ru
Дата: 02.01.23 18:46
Оценка:
Здравствуйте, dmitry251, Вы писали:

D>Всем привет,

D>Вопрос наверное риторический, но я все таки спрошу… есть довольно обьемное приложение, которое использует ms sql. В текущей ситуации надо бы куда то мигрировать. Приложение на vb.net . Использует стандартный Фреймворк .net без всяких обёрток, т.e. в коде жестко прописаны сейчас запросы типа SELECT * FROM TABLE1 и т.п., с параметрами.

D>Как попробовать обойтись малой кровью? Посмотрел postgresql, но там типы данных чуть отличаются, надо переписывать структуру… плюс синтаксис запросов вроде немного другой, операторы там и тп. может есть что-то готовое, типа опен-сорс клон ms sql… если нет, то подскажите как бы вы поступили в моей ситуации… спасибо


Определитесь с тем какую проблему вы решаете, Microsoft SQL это прекрасный сервер баз данных и никаких проблем с запросами в коде нет, это очень хороший подход, максимум можно даппер добавить для того что бы мапинг не делать руками
Народная мудрось
всем все никому ничего(с).
Re: Куда мигрировать с MsSql server?
От: VladiCh  
Дата: 18.01.23 01:33
Оценка: 10 (2)
Здравствуйте, dmitry251, Вы писали:

D>Всем привет,

D>Вопрос наверное риторический, но я все таки спрошу… есть довольно обьемное приложение, которое использует ms sql. В текущей ситуации надо бы куда то мигрировать. Приложение на vb.net . Использует стандартный Фреймворк .net без всяких обёрток, т.e. в коде жестко прописаны сейчас запросы типа SELECT * FROM TABLE1 и т.п., с параметрами.

D>Как попробовать обойтись малой кровью? Посмотрел postgresql, но там типы данных чуть отличаются, надо переписывать структуру… плюс синтаксис запросов вроде немного другой, операторы там и тп. может есть что-то готовое, типа опен-сорс клон ms sql… если нет, то подскажите как бы вы поступили в моей ситуации… спасибо


Есть такая штука — https://babelfishpg.org/ — поддержка фич MSSQL (включая протокол и T-SQL) поверх Postgres.
Re: Куда мигрировать с MsSql server?
От: wildwind Россия  
Дата: 19.01.23 09:42
Оценка:
Здравствуйте, dmitry251, Вы писали:

Что решили в итоге?
Re: Куда мигрировать с MsSql server?
От: Worminator X Россия #StandWithPalestine 🖤🤍💚
Дата: 28.05.23 20:08
Оценка: +2
Здравствуйте, dmitry251, Вы писали:

Все знакомые с MS SQL и Oracle мигрируют на Postgres. Ничего лучше в опенсорсе не придумано. Запросы придется переписать. Надо было сразу использовать ORM фреймворк, вроде Hibernate/ADO.NET Entity, а что не удается сделать с его помощью — выносить в хранимые процедуры.
Может, мы обидели кого-то зря, cбросив пару сотен мегатонн.
А теперь горит и плавится земля — там, где был когда-то Пентагон.
Re[2]: Куда мигрировать с MsSql server?
От: _FRED_ Черногория
Дата: 20.06.23 13:55
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>3) Если же вам надо срочно поменять windows на linux, то база данных станет для вас наименьшей проблемой, так вам придется переписать код с vb.net на C#…


А зачем переписывать на шарпе? Разве современный VB.NET не умеет компилировать так, чтоб под линуксом работало?
Help will always be given at Hogwarts to those who ask for it.
Re[3]: Куда мигрировать с MsSql server?
От: Alex.Che  
Дата: 20.06.23 15:29
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>А зачем переписывать на шарпе? Разве современный VB.NET не умеет компилировать так, чтоб под линуксом работало?


если есть возможность поставить на Линух .NET Core, то должно работать (в теории)
Re[2]: Куда мигрировать с MsSql server?
От: m2user  
Дата: 20.06.23 15:32
Оценка:
WX>Все знакомые с MS SQL и Oracle мигрируют на Postgres. Ничего лучше в опенсорсе не придумано. Запросы придется переписать. Надо было сразу использовать ORM фреймворк, вроде Hibernate/ADO.NET Entity, а что не удается сделать с его помощью — выносить в хранимые процедуры.

Какая разница запросы или хранимые процедуры — и то, и то переписывать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.