Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД с MySQL на какую-нибудь Embedded базу под .NET / 25 сообщений из 25, страница 1 из 1
11.07.2009, 19:39
    #36085578
Стурм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Здравствуйте.
Есть БД на MySQL 5.0 с клиентским приложением на C#, связь с базой через официальный .NET Connector от MySQL. Клиент и сервер на одном компьютере.
Необходимо как-то перенести базу на Embedded вариант (чтобы каждому новому пользователю не приходилось устанавливать и настраивать сервер).
Самый главный критерий переноса - по возможности, сделать это с минимумом возни, без необходимости перелопачивать весь код базы и клиента, так как сроки поджимают. Естественно, клиент должен остаться на .NET )

Естественно, что напрашивается - MySQL Embedded. Но он платный, а наш проект некоммерческий, и лицензию никто покупать не собирается. Пока не нашел, где можно его скачать в обход лицензии, да и нежелательно это.

Как быть, куда лучше перенести базу с MySQL (да, я знаю, что есть SQLite, Firebird Embedded, VistaDb, но что лучше подойдет в данном случае?)
Требования к СУБД самый простые: внешние ключи, хранимые процедуры, поля типа BLOB. Размер базы небольшой, и производительность большой роли не играет.
Буду рад советам.

P.S. от варианта встроить установку MySQL сервера в инсталлятор проекта, я отказался, так как не вижу путей для его реализации.
...
Рейтинг: 0 / 0
12.07.2009, 02:30
    #36085687
ОКТОГЕН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Стурм, что будете хранить в LOB'ах, какого объёма?
...
Рейтинг: 0 / 0
12.07.2009, 09:49
    #36085712
Стурм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
ОКТОГЕН, числа типа double, в среднем 200-400 чисел на блоб.
...
Рейтинг: 0 / 0
12.07.2009, 10:40
    #36085732
Piterskiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Стурм ...есть SQLite...
Требования к СУБД самый простые: внешние ключи, хранимые процедуры, поля типа BLOB. Размер базы небольшой, и производительность большой роли не играет.

В SQLite нет поддержки внешних ключей. Их можно создать, но движок их не видит.
Кроме того нет хранимых процедур. Только view и triggers.
...
Рейтинг: 0 / 0
12.07.2009, 12:31
    #36085779
пгуые1234
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Посоветую автору Firebird Embedded. Функционал такой же как у обычного сервера. Есть оффициальный NET провайдер. А вот скорость переноса с MySQL зависит от того насколько знаете эту субд ;)
...
Рейтинг: 0 / 0
12.07.2009, 13:05
    #36085796
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
СтурмТребования к СУБД самый простые: внешние ключи, хранимые процедуры, поля типа BLOB. Размер базы небольшой, и производительность большой роли не играет.
Если производительность роли не играет я-бы попробовал VistaDB. Технология вроде-как "родная". Стыковаться будет проще (IMHO).
...
Рейтинг: 0 / 0
12.07.2009, 14:39
    #36085817
шалом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
а пчемуб не сделать инсталятор который сам бы настраивал mysql?

---
вечно ваш бох
...
Рейтинг: 0 / 0
12.07.2009, 17:10
    #36085869
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
При чём здесь инсталлятор?
...
Рейтинг: 0 / 0
12.07.2009, 18:57
    #36085916
Di_LIne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
maytonЕсли производительность роли не играет я-бы попробовал VistaDB.
Пусть они с Вистой обышной сначала разбирутца, а потом и в ДБ лезут.
Года через 3, как все устаканится.
...
Рейтинг: 0 / 0
12.07.2009, 19:04
    #36085920
A8086
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
SQL Server Compact. Родная для .NET файловая InProc база данных. Бесплатная. Очень совместима со "взрослым" MS SQL Server. Есть контроль ссылочной целостности, но нет триггеров и ХП.

Может быть получится заменить MySqlConnection на SqlCeConnection и все заработает :)

Читайте Techdays .
...
Рейтинг: 0 / 0
12.07.2009, 19:51
    #36085937
Стурм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
пгуые1234Посоветую автору Firebird Embedded. Функционал такой же как у обычного сервера. Есть оффициальный NET провайдер. А вот скорость переноса с MySQL зависит от того насколько знаете эту субд ;)
Давно была пара проектов на Firebird (не embedded). Скажите пожалуйста, есть ли какие-то "подводные камни" при переносе и сильно ли отличается синтаксис SQL?

шалома пчемуб не сделать инсталятор который сам бы настраивал mysql?

Как?
maytonЕсли производительность роли не играет я-бы попробовал VistaDB. Технология вроде-как "родная". Стыковаться будет проще (IMHO).
Она платная, насколько я вижу из поисковика.

A8086SQL Server Compact. Родная для .NET файловая InProc база данных. Бесплатная. Очень совместима со "взрослым" MS SQL Server. Есть контроль ссылочной целостности, но нет триггеров и ХП.

без ХП - это очень большой минус
...
Рейтинг: 0 / 0
13.07.2009, 01:36
    #36086074
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Стурмбез ХП - это очень большой минус
Прикалываетесь? Или неподумав ступили?
Для embedded то какая куй разница, где циклы располагаются - в приложении, или же во внедрённом в приложение БД?
...
Рейтинг: 0 / 0
13.07.2009, 07:44
    #36086116
A8086
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Стурмбез ХП - это очень большой минус
Действительно, глупость сказали. Подумайте сами, во встраиваемых движках нет сервера как такового. Распределять функции некуда. А вся логика СУБД работает в собственном процессе Вашего приложения. Поэтому и называется это InProc СУБД (In process).

Кстати, если я не ошибаюсь, то SQLLite нет поддержки ссылочной целостности, за то есть триггеры, при помощи которых ее можно реализовать. А Sql Server Compact наоборот :). Впрочем могу и ошибаться.
...
Рейтинг: 0 / 0
13.07.2009, 11:53
    #36086467
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
СтурмДавно была пара проектов на Firebird (не embedded). Скажите пожалуйста, есть ли какие-то "подводные камни" при переносе и сильно ли отличается синтаксис SQL?
гм. Embedded НИЧЕМ от не-embedded не отличается, кроме следующих пунктов:
1. коннект должен быть "локальный", иначе он перенаправит коннект на сервер. Т.е. может работать как обычный клиент.

2. коннекты из разных exe не допускаются, т.к. exe приложения и dll FB embedded и представляют собой "сервер".

вроде все. SQL не отличается и отличаться не может.
...
Рейтинг: 0 / 0
13.07.2009, 12:23
    #36086568
шалом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
maytonПри чём здесь инсталлятор?как при чём ТС написал же что основная причина чтобы небыло необходимости настраивать
...
Рейтинг: 0 / 0
13.07.2009, 12:23
    #36086572
шалом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
СтурмКак?посмотрите например как это сделанов denwer там автоматически ставится апатч + мускл и всё сразу настроено
...
Рейтинг: 0 / 0
13.07.2009, 13:25
    #36086758
Стурм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
ЛПСтурмбез ХП - это очень большой минус
Прикалываетесь? Или неподумав ступили?
Для embedded то какая куй разница, где циклы располагаются - в приложении, или же во внедрённом в приложение БД?
Попрошу не выражаться. Меня совсем не тянет переносить пару сотен ХП в код приложения.
...
Рейтинг: 0 / 0
13.07.2009, 13:41
    #36086801
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
kdvSQL не отличается и отличаться не может.

ТС спрашивает про отличие от мускуля.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
13.07.2009, 14:19
    #36086909
Senya_L
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
A8086Действительно, глупость сказали. Подумайте сами, во встраиваемых движках нет сервера как такового. Распределять функции некуда.Для FB есть разница. Если держать логику в базе, то потом приложение без проблем будет работать не только с embedded, но и сетевой редакцией сервера.
...
Рейтинг: 0 / 0
13.07.2009, 15:14
    #36087070
Стурм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Senya_LA8086Действительно, глупость сказали. Подумайте сами, во встраиваемых движках нет сервера как такового. Распределять функции некуда.Для FB есть разница. Если держать логику в базе, то потом приложение без проблем будет работать не только с embedded, но и сетевой редакцией сервера.
Благодарю, еще один весомый агрумент, вдобавок к вышеуказанному.

Dimitry Sibiryakov
kdvSQL не отличается и отличаться не может.

ТС спрашивает про отличие от мускуля.

В общем да, некоторые СУБД используют свои диалекты SQL (классический пример - Oracle и PL\SQL), это я имел ввиду, но при переносе MySQL -> Firebird не думаю, что будет много проблем с самим SQL-скриптом, поэтому спрашивал просто на всякий случай.
...
Рейтинг: 0 / 0
13.07.2009, 17:42
    #36087478
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
2 Стурм
Попрошу не выражаться.
Попрошу не просить.

Меня совсем не тянет переносить пару сотен ХП в код приложения.
Тянет Вас или не тянет - а переносить пару сотен ХП так или иначе придётся, раз уж СУБД собираетесь менять.

------------------

2 Senya_L
Если держать логику в базе, то потом приложение без проблем будет работать не только с embedded, но и сетевой редакцией сервера.
Можно подумать, что кто-то мешает приложению без проблем работать хоть с embedded, хоть с сетевой версией в случае, если логика хранится в приложении или в среднем слое.

Я не агитирую за многозвенные архитектуры, но давайте уж называть вещи своими именами.
Именно вынос логики за пределы СУБД позволяет сравнительно безболезненно эту самую СУБД менять (хоть редакции, хоть вообще всю СУБД). И наоборот, написание логики на уровне БД усиливает связанность с СУ, и в дальнейшем может привести к тоскливому соплежеванию на тему "переноса пары сотен ХП".
...
Рейтинг: 0 / 0
13.07.2009, 17:46
    #36087483
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
авторя имел ввиду, но при переносе MySQL -> Firebird не думаю, что будет много проблем с самим SQL-скриптом, поэтому спрашивал просто на всякий случай.
все СУБД различаются как по синтаксису, так и по архитектуре. Так что все зависит от того, насколько использовали специфику конкретного SQL.
...
Рейтинг: 0 / 0
13.07.2009, 20:32
    #36087714
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Стурм пишет:

> Естественно, что напрашивается - MySQL Embedded. Но он платный, а наш
> проект некоммерческий, и лицензию никто покупать не собирается. Пока не
> нашел, где можно его скачать в обход лицензии, да и нежелательно это.

Я не знаю, какой он там платный, но исходники есть в дистрибутиве
исходников. Собственно, всех исходников там -- проект, собирающих
из MySQL либу, а не приложение.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14.07.2009, 12:44
    #36088676
Стурм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
ЛП
Тянет Вас или не тянет - а переносить пару сотен ХП так или иначе придётся, раз уж СУБД собираетесь менять.

Тем не менее, гораздо проще подправить SQL-скрипт создания базы, чем затрагивать еще и клиентский код. А вопрос, стоит ли выносить хранимые процедуры из БД - очень спорный, и вполне заслуживающий отдельной темы.
...
Рейтинг: 0 / 0
14.07.2009, 12:47
    #36088686
Стурм
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с MySQL на какую-нибудь Embedded базу под .NET
Товарищи! Благодарю вас всех за ценные советы! Благодаря вам, я наметил несколько решений сложившейся проблемы, таких как:

MySQL Embedded.
Напрямую использовать libmysqld.dll в проектах на .NET, по понятным причинам нельзя (использование DllImport не в счет). Не далее как полгода назад официальный .NET Connector еще не поддерживал embedded версию mysql. Судя по документации на самую последнюю версию коннектора - не поддерживает до сих пор. Примеров использования нет с embedded, ничего нет. Вот тут есть другой коннектор с поддержкой встраиваемой версии... но платный.
Возможно, запрос напрямую в MySQL что-то прояснит.

Firebird Embedded.
Первоочередной кандидат для переноса, если с MySQL не получится.

SQL Server Compact.
А это СУБД само собой напрашивается для разработки "с нуля" .NET проектов со встраиваемыми БД. :)
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД с MySQL на какую-нибудь Embedded базу под .NET / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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