Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> простейшая БД, создание 
:(
    Опции темы
MFSham
  Дата 17.9.2006, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Столкнулся с такой проблемой: надо создать простейшую БД на C# (MySQL). 
Скажу сразу, что с БД особо не работал.

Базу данных я то создал, но как теперь ее подключить к проекту?
Можно, конечно, использовать SQL Server вместе с SqlClient и OleDb, но
как использовать ее без SQL Server'a?
Т.е. я хочу, чтобы моя БД лежала в директории программы и работола без
SQL Server'a. 

А может я вообще несу полную чушь?  smile 
Если что не так, то поправьте меня, или киньте полезную ссылочку...
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
alir
Дата 18.9.2006, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 383
Регистрация: 19.3.2005

Репутация: нет
Всего: 4



Цитата
киньте полезную ссылочку... 

http://www.connectionstrings.com/
PM MAIL ICQ   Вверх
MFSham
Дата 18.9.2006, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Был я уже там =)

Я тут так прикинул, что можно все данные можно хранить в формате XML. 
Геморроя меньше, но вот как осуществить поиск по такой БД... В этом случае MySQL 
со своими запросами рулит...

Млин... Палка о двух концах...
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
mr.DUDA
Дата 19.9.2006, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Есть такие БД как SQLite и Firebird, возможно они подойдут (почти уверен).


--------------------
user posted image
PM MAIL WWW   Вверх
KAFLAN
Дата 28.9.2006, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 28.9.2006
Где: г. Москва

Репутация: нет
Всего: нет



Цитата(MFSham @ 18.9.2006,  22:07)
Был я уже там =)

Я тут так прикинул, что можно все данные можно хранить в формате XML. 
Геморроя меньше, но вот как осуществить поиск по такой БД... В этом случае MySQL 
со своими запросами рулит...

Млин... Палка о двух концах...

Самым очевидным советом является использование Microsoft Access, в этом случае ничего кроме файла БД с собой таскать не нужно, при этом даже сам MS Access на машине конечного пользователя можно не устанавливать, так как для работы с MS Access базой необходимым и достаточным условием является наличие движка MS Jet 4.0 который идет в поставке с Windows 2000, XP, Vista.

Если же всё же тянет в сторону XML, то тут вполне приемлемым по скорости (при разумных объемах данных) решением будет использование встроенного в .net движка XPath (см. System.XML)  + по максимуму использовать возможность метода Compile.
PM MAIL ICQ Skype MSN   Вверх
thomas
Дата 4.10.2006, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



Цитата(MFSham @  17.9.2006,  22:53 Найти цитируемый пост)
Т.е. я хочу, чтобы моя БД лежала в директории программы и работола без
SQL Server'a. 


MFSham
Привет.
Я не волшебник, а только учусь, но могу сказать следующее.

Учусь в вечерней вышке на программиста .NET. Сейчас начали проходить работу с БД.
Так вот у меня на машине установлена одна только 2005-я студия. SQL server снес, учили это дело в прошлом семестре. В примерах с которыми мы работаем используем OleDb.
Соединение, просмотр, изменения значений и сохранение новых данных их датасета в базу. Файл базы лежит в директории проекта. 
Если проще сказать, то при соединении с базой указываешь OleDbCommand.ConnectionString="путь к твоей базе" и делай с ней что хошь. Сервер тебе не нужен.
Программы написанные в студии работают на машинах с установленной Framework.NET. Установка сервера или Аccess не обязательна.




--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
mr.DUDA
Дата 4.10.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата
Установка сервера или Аccess не обязательна.

Это потому, что аксессовский движок MS Jet ставится вместе с .NET Framework или с виндой (как говорили выше)


--------------------
user posted image
PM MAIL WWW   Вверх
thomas
Дата 4.10.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



MFSham
Привет.
Кстати есть еще одна ОЧЕНЬ простая возможность организовать базу данных в директории программы.
Обрати свое внимание на файлы типа  random.
Ты в своей программе можешь прописать структуры которые содержат нужные тебе данные (например по каждому клиенту, товару, предприятию) и сохранять их в файлы.
А твоя программа будет открывать, читать, изменять(если необходимо), добавлять новые recotds и сохранять эти данные.
Для небольшого кол-ва клиентов, товаров, предприятий - очень удоно и размерчик не большой. Только нужно поинить о том что в random файле все records должны быть ФИКСИРОВАННОЙ длинны. А это значит, что ты когда объявляешь элементы структуры типа String должен будешь использовать string фиксированной длинны.
И доступ к файлам содержащим до 10-ти тысяч records довольно быстрый. По моему это самое то если нужно хранить данные на 1-2 тысячи.

Всего доброго.  smile 

ЗЫ есть примеры кода на VB2005, переписать на C# не очень сложно. Главное понять принцип файловой организации,  и продумать что и как хранить. 

Это сообщение отредактировал(а) thomas - 4.10.2006, 13:53


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
MFSham
Дата 4.10.2006, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Цитата(thomas @  4.10.2006,  13:45 Найти цитируемый пост)
MFSham, Привет.

Здаровенько  smile 
Цитата(thomas @  4.10.2006,  13:45 Найти цитируемый пост)
Кстати есть еще одна ОЧЕНЬ простая возможность организовать базу данных в директории программы.Обрати свое внимание на файлы типа  random.

Цитата(thomas @  4.10.2006,  13:45 Найти цитируемый пост)
Для небольшого кол-ва клиентов, товаров, предприятий - очень удоно и размерчик не большой.

Полностью согласен с тобой. Для определенного круга задач это очень хороший выход. Но вся функциональность твоей базы ложится на твои руки. 

А при работе со стандартными БД SQL запросы намного облегчают жизнь. Да и изобретать велосипед на свою голову как-то не хочется.
З.Ы. Все-таки после долгих мучений я пришел к исходному: MySQL база вместе с SQL Server 2005. Все прекрасно работает...
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
thomas
Дата 5.10.2006, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



Цитата(MFSham @ 4.10.2006,  21:58)
 MySQL база вместе с SQL Server 2005. 

Привет.
Слушай, может я чего не допонимаю,
база данных MySQL , а сервер MS SQL 2005.

Вообще конечно для сложной БД с взаимосвязанными таблицами способ сохранения данных в rnd файлы не подходит.
И самый приемлемый способ это продумать организацию бызы данных и создать её программно(OleDb), сохранив файл БД в директорию программы.
И будет тебе счастье.


ЗЫ и если будет нужда, то пиши в личку. С удовольствием пообсуждаю с тобой практические примеры кодирования. Мы сейчас в школе как раз и проходим работу с БД из C#.
Или прямо на мыло. Ящик я контролирую регулярно.

Это сообщение отредактировал(а) thomas - 5.10.2006, 09:01


--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
mr.DUDA
Дата 5.10.2006, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата(MFSham @  4.10.2006,  21:58 Найти цитируемый пост)
З.Ы. Все-таки после долгих мучений я пришел к исходному: MySQL база вместе с SQL Server 2005. Все прекрасно работает...

Что-то я тоже ничего не понял: как это, два движка БД вместе ? Есть такое понятие "СУБД" (система управления базами данных), учат его ещё в школе - так вот обе аббревиатуры MySQL и SQL Server относятся к понятию СУБД. То есть, масло масленное: мы говорим о том, что наше приложение использует и MySQL и SQL Serrver, хотя совместить их в принципе невозможно, т.к. это принципиально два различных движка баз данных, со своими системами хранения физической БД, со своими диалектами SQL (например, в SQL Server используется всем известный диалект T-SQL, а в MySQL - собственный, не помню как называется...). В общем, это не то smile.


--------------------
user posted image
PM MAIL WWW   Вверх
MFSham
Дата 6.10.2006, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 28.8.2005
Где: Беларусь, Гродно

Репутация: нет
Всего: 3



Цитата(mr.DUDA @  5.10.2006,  23:12 Найти цитируемый пост)
 В общем, это не то 

Полностью согласен. Че-то я не то написал. SQL Server с созданныими не нем БД. Так будет правильно. 
--------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны.
PM MAIL   Вверх
Groff
Дата 8.11.2006, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 31.10.2006
Где: Belarus, Minsk

Репутация: нет
Всего: 3



Извините что поднял не совсем новую тему, но по данной теме у меня возник вопрос.
Необходимо напрямую работать с базой находящейся в файле database.mdf
Делаю так:
Код
OleDbConnection conn = new OleDbConnection(@"Provider=SQLOLEDB;Data Source=D:\database.mdf");
conn.Open();

Выкидывает OleDbException: "Invalid authorization specification". В чем может быть дело?
Integrated Security ставил и в true, и в false.
PM ICQ MSN   Вверх
mr.DUDA
Дата 8.11.2006, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



GroffМодератор: Пожалуйста, один топик - один вопрос.

Строки соединения с Access есть здесь.


--------------------
user posted image
PM MAIL WWW   Вверх
botusai
Дата 29.9.2007, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 24.9.2007

Репутация: нет
Всего: нет



У меня такой вопрос. А как создать БД, используя только Visual Studio 2005 (и MS SQL SERVER 2005). Я создаю новый проект Database, в Server Explorer выбираю "Create New SQL Server Database..." далее надо указать сервер, к котрому пойдет соединение, но вот проблема - в предложенном списке ни одного сервера нет. У меня стоит MS SQL SERVER 2005 (который установлен вместе с самой "студией", т.е. это MSDE), я слышал, что он не позволяет устанавливать удаленные соединения, но мне-то этого и не надо. Так вот, я пишу в поле servername следующее localhost//SQLEXPRESS (добрые люди посоветовали), жму Test Connection и вываливается ошибка следующего характера (прикреплено)

Что делать? т.е. как правильно прописать имя сервера?

Это сообщение отредактировал(а) botusai - 29.9.2007, 14:08

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  error.JPG 21,58 Kb
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.