:: Не фоксом единым
файл-серверная база данных и entity framework
Chips
Автор

Сообщений: 93
Дата регистрации: 11.02.2016
Добрый день.
Собственно вопрос!
Реально при помощи Entity Framework создать файл-серверную базу данных?
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
EF использует некоторую БД - т.е. движок доступа к данным. Он не предназначен для его создания.
Если взять какой то движок - хоть Фоксовый, хоть Аксессовский и найти (либо написать самому) EF-провайдер для них, то вполне реально получить связку файл-серверной БД, некоторого движка (в виде OleDB провайдера или ODBC драйвера - т.к. я не видел "родных" адонетовских провайдеров для такого антиквариата), EF провайдера-обёртки и собственно EF.
P.S. Смысла в таком винегрете лично я не вижу - лучше уж мигрировать БД с существующего файл-серверного варианта в любую мало-мальски приличную серверную БД. Возможно написав некоторый простейший механизм репликации данных между ними - если отказаться полностью от файл-сервера невозможно.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Chips
Автор

Сообщений: 93
Дата регистрации: 11.02.2016
Ладно, вот чтобы точно знать...
Я могу сделать так или нет?

1) При помощи EF используя подход Model First я создаю базу данных (пустую) скажем из 2-х таблиц со связью один ко многим.
2) Копирую эту базу на сетевой диск.
3) Создаю для пользователя exe файл, ставлю на его машину какой нибудь SQL compact, который будет подключаться через EF к этой самой базе (Или EF через SQL compact? =) ).
4) Ставлю тот-же exe файл и SQL compact второму юЗВЕРЮ который будет подключаться к тоже базе на сетевом диске.

Ну или скажем такая задача (которые прилетают ко мне раз в неделю от какого нибудь отдела)
Вот вчера мне дали файл на 3,891,535 человек, не буду особо углубляться в детали задачи, но вкратце, его надо было разбить по годам на файлы, дело нескольких запросов.

Но вот для того чтобы написать эти запросы пришлось перегонять данные в курсор и сохранять в dbf файле.
(Сохранять понадобилось для того чтобы, если от моих запросов повиснет машина не загонять все опять в курсор из файла)
Файл получился 1,7мб, а проблема в том что данные со временем растут и через год может два, файл достигнет 2гб+ и я с фоксом сяду в лужу. Посему суетиться надо уже сейчас =)

Тут все понятно, ставим себе на комп SQL express далее EF и C# меня спасут.

Но проблема вся в том, что иногда надо для подобных задач писать exe файл пользователю, так как бывает у них эти файлы валяться каждый день и пользователь может быть далеко от меня и у него может не быть под рукой IT-специалиста который установить и развернёт ему SQL express 2014 установочные файлы которого весят 600мб(архивные 230мб), но в любом случаи представите себе ситуацию...
Гонять архив 230мб с exe файлом по FTP, где есть лимит на трафик! Сетевой отдел мне этого не разрешит.
Да и разворачивать SQL сервера на машинах пользователей тоже!

Я думал, EF и SQL compact или SQL LocalDB или какой он там еще бывает, меня спасёт.
Ведь я не имею виду создать полноценную файл-серверную базу как это делает FOX. Мне устроит вариант, даже если это будет похоже как будто я используют файл-серверную базу.

Но насколько я вам понимаю, я обязательно должен где нибудь развернуть ЦЕЛЫЙ сервер, чтобы работать с одно или двумя таблицами.

Млин сорри что так много написал, надеюсь я понятно изложил своих желание в буквах для того чтобы прочтя это можно было понять чего я хочу от EF.

P.S.
Пардонте за пунктуацию.



Исправлено 2 раз(а). Последнее : Chips, 01.09.16 16:30
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Ключевой вопрос - нужен ли СОВМЕСТНЫЙ доступ к такой БД, или всегда можно ограничится чисто ЛОКАЛЬНЫМ доступом одной копии программы к "своей" копии БД?
Как я понимаю, все "встраиваемые" движки не поддерживают полноценный многопользовательский доступ - зато в плане разворачивания БД они имеют практически нулевую проблемность - т.е. реально "скопировал файлы" и можно запускать и работать (или даже саму БД создать с нуля - полностью портабельная программа будет).
Впрочем, вполне возможно что ограничения того или иного движка (того же SQLite) тебя вполне устроят - если конкурентность при модификации данных будет крайне низкая, то ничего страшного в том что он блокирует для записи всю базу не будет...
Ну и по другим "особенностям" тоже надо смотреть - типа максимальных размеров таблиц/всей БД, наличие хоть какого-то оптимизатора запросов (то что сам движок должен уметь как минимум полноценный SQL поддерживать и так, думаю, понятно)...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Исходя из перечисленных пунктов, ответ на вопрос Игоря - НУЖЕН)

Chips
Гонять архив 230мб с exe файлом по FTP, где есть лимит на трафик! Сетевой отдел мне этого не разрешит.
И не надо. Зачем это, если он лежит в сети, и тот кому он нужен, лучше от туда его скачает. По вашей ссылке.
И точную инструкцию как устанавливать. С логинами и паролями!

Таким образом, установка сервера, остается на заказчике.
А вам остается только отдать exe, который на основании вашего пункта 1, сам все создаст, и начнет все работать.

Не забудьте в иструкции по установке сервера, написать, что всем клиентам, надо клиентов выбранного сервера поставить.


------------------
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Chips
Автор

Сообщений: 93
Дата регистрации: 11.02.2016
Осталось только как-то запустить этот entity framework =(
Спасибо за ответы.
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Chips
Автор

Сообщений: 93
Дата регистрации: 11.02.2016
походу дела entity framework не работает с sqlite под win7 x64
msdn.microsoft.com

Зашибись!
Винда идёт в сторону линукса, постоянно какая-то не совместимость версий.
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
erazerbrecht.wordpress.com

Я бы не стал пока гоняться за самой распоследней версией EF... В этой, правда, тоже только x86 вариант библиотеки работает - но он таки работает и под x64 осью...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Chips
походу дела entity framework не работает с sqlite под win7 x64
С чего бы вдруг?
Ссылка про Entity Framework 7 (впервые услышал))))
Ну а насчет совместимости, это да(((

Так работайте на старых EF, там точно все работает)


------------------
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Chips
Автор

Сообщений: 93
Дата регистрации: 11.02.2016
Аспид
Так работайте на старых EF, там точно все работает)

Ну вы ведь программист, вы должны понимать что такое новая версия, рано или поздно её лучше поставить.


ппц... опять, опять ошибка несовместимости версий...
Мля да когда же это кончится...

Народ никто не думал о переходе с Fox на delphi ?



Исправлено 1 раз(а). Последнее : Chips, 05.09.16 16:31
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Chips
Автор

Сообщений: 93
Дата регистрации: 11.02.2016
ДА что твориться...
Либо я тупой как пробка, либо что-то не то с C#.
С
нёс старую версию SQLite, скачал sqlite-netFx46-setup-bundle-x64-2015-1.0.102.0.exe, установил.

Теперь из окна "Выбор источника данных" пропал SQLite =)

Я не могу начать программировать на C# я третий день переустанавливаю версии SQL (третий это не считая выходных)
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
SQLite не пользовал. Всякие визуальные фишки в студии (типа окна источников данных, мастера создания строки подключения) тоже - только код, только хардкор
Сама студия до сих пор 32-разрядная, и для большинства её "визуальных фишек" наверняка потребуются 32-битные (или, если таковые имеются - нативные дотнетовские с архитектурой AnyCPU) провайдеры и, если это нужно, соответствующие "клиенты СУБД" (как для "встраиваемых" я не в курсе - вероятно там что клиент, что сама СУБД это один и тот же код - при том наверняка он НЕ чисто дотнетовский будет - т.е. его разрядность будет важна.

Дело не в том что не надо смотреть на новое, дело в том что для работы лучше брать нечто хоть минимально обкатанное, проблемы и способы решения для которого уже известны... EF7 это вообще отдельная песня - если не вникать в подробности, то конкретно тебе, для конкретно поставленной цели разработки десктопных приложений со "встраиваемым" движком СУБД (типа SQLite) на сегодняшний день и на ближайшую перспективу EF7 не нужен. От слова вообще


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Chips
Автор

Сообщений: 93
Дата регистрации: 11.02.2016
Igor Korolyov
EF7 не нужен
ЭТО точно!

У вас хотя бы код работает...
Я тоже пробовал сделать code first, он мне делает базу, не пишет никаких ошибок, но когда я подключаюсь к этой базе она оказывается пустой, хотя я завожу туда две записи.
А при попытке открыть таблицу из базы при помощи "Обозревателя серверов" он пишет что у меня какие-то не те версии SQL.

Установка sqlite-netFx46-setup-bundle-x86-2015-1.0.102.0.exe тоже не помогла.(error2.gif)

А больше всего бесит, что никто не может сказать какие версии мне надо поставить чтобы все просто работало, без захода в третье подменю пятой вкладки. (Я создал похожую тему на кибер форуме, там тоже глухо)

И я сижу как идиот переустанавливаю SQL сервера.

P.S.
Попробуй Code First для SQLite.
Игорь если не секрет, как выглядит ваша строка подключения для SQLite?



Исправлено 2 раз(а). Последнее : Chips, 06.09.16 10:27
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
какая версия студии? вместе с сп


------------------
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Chips
4) Ставлю тот-же exe файл и SQL compact второму юЗВЕРЮ который будет подключаться к тоже базе на сетевом диске.

Вы же се же сетевую БД хотите.
Зачем мучить SQLite?
Может она и может в многопользовательском режиме работать, но потратите на это, не мало сил. (ИМХО)

Ставьте експресс, и не мучайтесь.

ЗЫ. Про подключение в любом хелпе, как начать работать, примеры есть, если память не отказала))).


------------------
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Chips
Игорь если не секрет, как выглядит ваша строка подключения для SQLite?
Igor Korolyov
SQLite не пользовал.

И в ближайшее время точно не до экспериментов будет
Может действительно проще с MSSQLCompact начать?


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
GotFocus

Сообщений: 1191
Откуда: Из-за угла
Дата регистрации: 30.11.2010
Слез с SQL Compact на SQLite по причине возможности использования в Android и не только. Вроде сам MS пытается за него взяться и забил на Compact(не проверено)
C EF6 работает. С миграциями не работает - обхожусь
Недавно наткнулся на metanit.com - может поможет. Не читал - накопал сам ранее. Если не поможет, расскажу как работаю с SQLite + EF6
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Chips
Автор

Сообщений: 93
Дата регистрации: 11.02.2016
GotFocus
Недавно наткнулся на metanit.com - может поможет
Я там был и читал =(

GotFocus
Если не поможет, расскажу как работаю с SQLite + EF6
ПЛИЗ! Просто элементарную вещь, создать одно табличную базу и сохранить на диск, потом подключиться и вывести данные хоть куда нибудь!
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
GotFocus

Сообщений: 1191
Откуда: Из-за угла
Дата регистрации: 30.11.2010
Вот работающий проектик yadi.sk
Во второй и третий столбец можно ввести данные и нажать Сохранить. В столбец Id не надо - автоинкремент
Для администрирования БД использовал addons.mozilla.org или visualstudiogallery.msdn.microsoft.com



Исправлено 1 раз(а). Последнее : GotFocus, 08.09.16 21:22
Ratings: 0 negative/0 positive
Re: файл-серверная база данных и entity framework
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Плохо что не можешь разобраться в технической документации...
Всё это ищется через любой поисковик - проблемы и способы их решения...
Вот самый простой пример, "на коленке" написанный.
[attachment 25799 WindowsFormsApplication1.zip]


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 2 (Гостей: 2)

© 2000-2024 Fox Club 
Яндекс.Метрика