файл-серверная база данных и entity framework | |
---|---|
Chips Автор Сообщений: 93 Дата регистрации: 11.02.2016 |
Добрый день.
Собственно вопрос! Реально при помощи Entity Framework создать файл-серверную базу данных? |
Re: файл-серверная база данных и entity framework | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
EF использует некоторую БД - т.е. движок доступа к данным. Он не предназначен для его создания.
Если взять какой то движок - хоть Фоксовый, хоть Аксессовский и найти (либо написать самому) EF-провайдер для них, то вполне реально получить связку файл-серверной БД, некоторого движка (в виде OleDB провайдера или ODBC драйвера - т.к. я не видел "родных" адонетовских провайдеров для такого антиквариата), EF провайдера-обёртки и собственно EF. P.S. Смысла в таком винегрете лично я не вижу - лучше уж мигрировать БД с существующего файл-серверного варианта в любую мало-мальски приличную серверную БД. Возможно написав некоторый простейший механизм репликации данных между ними - если отказаться полностью от файл-сервера невозможно. ------------------ WBR, Igor |
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 |
Re: файл-серверная база данных и entity framework | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Ключевой вопрос - нужен ли СОВМЕСТНЫЙ доступ к такой БД, или всегда можно ограничится чисто ЛОКАЛЬНЫМ доступом одной копии программы к "своей" копии БД?
Как я понимаю, все "встраиваемые" движки не поддерживают полноценный многопользовательский доступ - зато в плане разворачивания БД они имеют практически нулевую проблемность - т.е. реально "скопировал файлы" и можно запускать и работать (или даже саму БД создать с нуля - полностью портабельная программа будет). Впрочем, вполне возможно что ограничения того или иного движка (того же SQLite) тебя вполне устроят - если конкурентность при модификации данных будет крайне низкая, то ничего страшного в том что он блокирует для записи всю базу не будет... Ну и по другим "особенностям" тоже надо смотреть - типа максимальных размеров таблиц/всей БД, наличие хоть какого-то оптимизатора запросов (то что сам движок должен уметь как минимум полноценный SQL поддерживать и так, думаю, понятно)... ------------------ WBR, Igor |
Re: файл-серверная база данных и entity framework | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Исходя из перечисленных пунктов, ответ на вопрос Игоря - НУЖЕН)
И не надо. Зачем это, если он лежит в сети, и тот кому он нужен, лучше от туда его скачает. По вашей ссылке. И точную инструкцию как устанавливать. С логинами и паролями! Таким образом, установка сервера, остается на заказчике. А вам остается только отдать exe, который на основании вашего пункта 1, сам все создаст, и начнет все работать. Не забудьте в иструкции по установке сервера, написать, что всем клиентам, надо клиентов выбранного сервера поставить. ------------------ |
Re: файл-серверная база данных и entity framework | |
---|---|
Chips Автор Сообщений: 93 Дата регистрации: 11.02.2016 |
Осталось только как-то запустить этот entity framework =(
Спасибо за ответы. |
Re: файл-серверная база данных и entity framework | |
---|---|
Chips Автор Сообщений: 93 Дата регистрации: 11.02.2016 |
походу дела entity framework не работает с sqlite под win7 x64
msdn.microsoft.com Зашибись! Винда идёт в сторону линукса, постоянно какая-то не совместимость версий. |
Re: файл-серверная база данных и entity framework | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
erazerbrecht.wordpress.com
Я бы не стал пока гоняться за самой распоследней версией EF... В этой, правда, тоже только x86 вариант библиотеки работает - но он таки работает и под x64 осью... ------------------ WBR, Igor |
Re: файл-серверная база данных и entity framework | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
С чего бы вдруг? Ссылка про Entity Framework 7 (впервые услышал)))) Ну а насчет совместимости, это да((( Так работайте на старых EF, там точно все работает) ------------------ |
Re: файл-серверная база данных и entity framework | |
---|---|
Chips Автор Сообщений: 93 Дата регистрации: 11.02.2016 |
Ну вы ведь программист, вы должны понимать что такое новая версия, рано или поздно её лучше поставить. ппц... опять, опять ошибка несовместимости версий... Мля да когда же это кончится... Народ никто не думал о переходе с Fox на delphi ? Исправлено 1 раз(а). Последнее : Chips, 05.09.16 16:31 |
Re: файл-серверная база данных и entity framework | |
---|---|
Chips Автор Сообщений: 93 Дата регистрации: 11.02.2016 |
ДА что твориться...
Либо я тупой как пробка, либо что-то не то с C#. С нёс старую версию SQLite, скачал sqlite-netFx46-setup-bundle-x64-2015-1.0.102.0.exe, установил. Теперь из окна "Выбор источника данных" пропал SQLite =) Я не могу начать программировать на C# я третий день переустанавливаю версии SQL (третий это не считая выходных) |
Re: файл-серверная база данных и entity framework | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
SQLite не пользовал. Всякие визуальные фишки в студии (типа окна источников данных, мастера создания строки подключения) тоже - только код, только хардкор
Сама студия до сих пор 32-разрядная, и для большинства её "визуальных фишек" наверняка потребуются 32-битные (или, если таковые имеются - нативные дотнетовские с архитектурой AnyCPU) провайдеры и, если это нужно, соответствующие "клиенты СУБД" (как для "встраиваемых" я не в курсе - вероятно там что клиент, что сама СУБД это один и тот же код - при том наверняка он НЕ чисто дотнетовский будет - т.е. его разрядность будет важна. Дело не в том что не надо смотреть на новое, дело в том что для работы лучше брать нечто хоть минимально обкатанное, проблемы и способы решения для которого уже известны... EF7 это вообще отдельная песня - если не вникать в подробности, то конкретно тебе, для конкретно поставленной цели разработки десктопных приложений со "встраиваемым" движком СУБД (типа SQLite) на сегодняшний день и на ближайшую перспективу EF7 не нужен. От слова вообще ------------------ WBR, Igor |
Re: файл-серверная база данных и entity framework | |
---|---|
Chips Автор Сообщений: 93 Дата регистрации: 11.02.2016 |
ЭТО точно! У вас хотя бы код работает... Я тоже пробовал сделать 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 |
Re: файл-серверная база данных и entity framework | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
какая версия студии? вместе с сп
------------------ |
Re: файл-серверная база данных и entity framework | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Вы же се же сетевую БД хотите. Зачем мучить SQLite? Может она и может в многопользовательском режиме работать, но потратите на это, не мало сил. (ИМХО) Ставьте експресс, и не мучайтесь. ЗЫ. Про подключение в любом хелпе, как начать работать, примеры есть, если память не отказала))). ------------------ |
Re: файл-серверная база данных и entity framework | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
И в ближайшее время точно не до экспериментов будет Может действительно проще с MSSQLCompact начать? ------------------ WBR, Igor |
Re: файл-серверная база данных и entity framework | |
---|---|
GotFocus Сообщений: 1191 Откуда: Из-за угла Дата регистрации: 30.11.2010 |
Слез с SQL Compact на SQLite по причине возможности использования в Android и не только. Вроде сам MS пытается за него взяться и забил на Compact(не проверено)
C EF6 работает. С миграциями не работает - обхожусь Недавно наткнулся на metanit.com - может поможет. Не читал - накопал сам ранее. Если не поможет, расскажу как работаю с SQLite + EF6 |
Re: файл-серверная база данных и entity framework | |
---|---|
Chips Автор Сообщений: 93 Дата регистрации: 11.02.2016 |
Я там был и читал =( ПЛИЗ! Просто элементарную вещь, создать одно табличную базу и сохранить на диск, потом подключиться и вывести данные хоть куда нибудь! |
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 |
Re: файл-серверная база данных и entity framework | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Плохо что не можешь разобраться в технической документации...
Всё это ищется через любой поисковик - проблемы и способы их решения... Вот самый простой пример, "на коленке" написанный. [attachment 25799 WindowsFormsApplication1.zip] ------------------ WBR, Igor |
© 2000-2024 Fox Club  |