| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > простейшая БД |
| Автор: MFSham 17.9.2006, 22:53 |
| Столкнулся с такой проблемой: надо создать простейшую БД на C# (MySQL). Скажу сразу, что с БД особо не работал. Базу данных я то создал, но как теперь ее подключить к проекту? Можно, конечно, использовать SQL Server вместе с SqlClient и OleDb, но как использовать ее без SQL Server'a? Т.е. я хочу, чтобы моя БД лежала в директории программы и работола без SQL Server'a. А может я вообще несу полную чушь? Если что не так, то поправьте меня, или киньте полезную ссылочку... |
| Автор: alir 18.9.2006, 09:56 | ||
http://www.connectionstrings.com/ |
| Автор: MFSham 18.9.2006, 22:07 |
| Был я уже там =) Я тут так прикинул, что можно все данные можно хранить в формате XML. Геморроя меньше, но вот как осуществить поиск по такой БД... В этом случае MySQL со своими запросами рулит... Млин... Палка о двух концах... |
| Автор: mr.DUDA 19.9.2006, 09:26 |
| Есть такие БД как http://www.sqlite.org/ и http://www.firebirdsql.org/, возможно они подойдут (почти уверен). |
| Автор: KAFLAN 28.9.2006, 03:05 | ||
Самым очевидным советом является использование Microsoft Access, в этом случае ничего кроме файла БД с собой таскать не нужно, при этом даже сам MS Access на машине конечного пользователя можно не устанавливать, так как для работы с MS Access базой необходимым и достаточным условием является наличие движка MS Jet 4.0 который идет в поставке с Windows 2000, XP, Vista. Если же всё же тянет в сторону XML, то тут вполне приемлемым по скорости (при разумных объемах данных) решением будет использование встроенного в .net движка XPath (см. System.XML) + по максимуму использовать возможность метода Compile. |
| Автор: mr.DUDA 4.10.2006, 11:13 | ||
Это потому, что аксессовский движок MS Jet ставится вместе с .NET Framework или с виндой (как говорили выше) |
| Автор: thomas 4.10.2006, 13:45 |
| MFSham, Привет. Кстати есть еще одна ОЧЕНЬ простая возможность организовать базу данных в директории программы. Обрати свое внимание на файлы типа random. Ты в своей программе можешь прописать структуры которые содержат нужные тебе данные (например по каждому клиенту, товару, предприятию) и сохранять их в файлы. А твоя программа будет открывать, читать, изменять(если необходимо), добавлять новые recotds и сохранять эти данные. Для небольшого кол-ва клиентов, товаров, предприятий - очень удоно и размерчик не большой. Только нужно поинить о том что в random файле все records должны быть ФИКСИРОВАННОЙ длинны. А это значит, что ты когда объявляешь элементы структуры типа String должен будешь использовать string фиксированной длинны. И доступ к файлам содержащим до 10-ти тысяч records довольно быстрый. По моему это самое то если нужно хранить данные на 1-2 тысячи. Всего доброго. ЗЫ есть примеры кода на VB2005, переписать на C# не очень сложно. Главное понять принцип файловой организации, и продумать что и как хранить. |
| Автор: MFSham 4.10.2006, 21:58 | ||||
Здаровенько
Полностью согласен с тобой. Для определенного круга задач это очень хороший выход. Но вся функциональность твоей базы ложится на твои руки. А при работе со стандартными БД SQL запросы намного облегчают жизнь. Да и изобретать велосипед на свою голову как-то не хочется. З.Ы. Все-таки после долгих мучений я пришел к исходному: MySQL база вместе с SQL Server 2005. Все прекрасно работает... |
| Автор: thomas 5.10.2006, 08:58 | ||
Привет. Слушай, может я чего не допонимаю, база данных MySQL , а сервер MS SQL 2005. Вообще конечно для сложной БД с взаимосвязанными таблицами способ сохранения данных в rnd файлы не подходит. И самый приемлемый способ это продумать организацию бызы данных и создать её программно(OleDb), сохранив файл БД в директорию программы. И будет тебе счастье. ЗЫ и если будет нужда, то пиши в личку. С удовольствием пообсуждаю с тобой практические примеры кодирования. Мы сейчас в школе как раз и проходим работу с БД из C#. Или прямо на мыло. Ящик я контролирую регулярно. |
| Автор: mr.DUDA 5.10.2006, 23:12 | ||
Что-то я тоже ничего не понял: как это, два движка БД вместе ? Есть такое понятие "СУБД" (система управления базами данных), учат его ещё в школе - так вот обе аббревиатуры MySQL и SQL Server относятся к понятию СУБД. То есть, масло масленное: мы говорим о том, что наше приложение использует и MySQL и SQL Serrver, хотя совместить их в принципе невозможно, т.к. это принципиально два различных движка баз данных, со своими системами хранения физической БД, со своими диалектами SQL (например, в SQL Server используется всем известный диалект T-SQL, а в MySQL - собственный, не помню как называется...). В общем, это не то |
| Автор: MFSham 6.10.2006, 21:11 |
Полностью согласен. Че-то я не то написал. SQL Server с созданныими не нем БД. Так будет правильно. |
| Автор: Groff 8.11.2006, 00:57 | ||
| Извините что поднял не совсем новую тему, но по данной теме у меня возник вопрос. Необходимо напрямую работать с базой находящейся в файле database.mdf Делаю так:
Выкидывает OleDbException: "Invalid authorization specification". В чем может быть дело? Integrated Security ставил и в true, и в false. |
| Автор: mr.DUDA 8.11.2006, 12:18 |
| Groff, Модератор: Пожалуйста, один топик - один вопрос. Строки соединения с Access есть http://www.connectionstrings.com/. |
| Автор: botusai 29.9.2007, 14:07 |
| У меня такой вопрос. А как создать БД, используя только 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 и вываливается ошибка следующего характера (прикреплено) Что делать? т.е. как правильно прописать имя сервера? |
| Автор: thomas 29.9.2007, 17:04 |
| botusai, Привет. Идем http://msdn2.microsoft.com/en-us/vbasic/bb466226.aspx и смотрим видео как создать БД. Даже если ты пишешь на C# то дизайнер работает одинаково. Удачи. |
| Автор: botusai 29.9.2007, 17:36 |
| Всё, я уже разобрался, просто надо было писать не localhost//SQLEXPRESS, а localhost\SQLExpress |
| Автор: Crusader777 5.1.2011, 15:27 |
| Что-то читал-читал ничего так и не понял :( Нужна простейшая база данных, для C#, 2 поля, 2000 записей. Делать самому типизированный файл - лень, какую бд можно использовать, чтобы прога работала под ВыньХП без установки? Как ее создать? Как приконнектиться? Работал 2 года с Firebird и 3 года с MySQL - но их ставить надо, а мне для такого мизера (2000 записей) жалко ресурсы есть. |
| Автор: Kaerus 5.1.2011, 15:44 |
| Бери http://ru.wikipedia.org/wiki/SQLite - не ошибешься (ее используют FireFox, Opera и еще куча других программ) Под .NET http://sqlite.phxsoftware.com/ Вот еще прога для администрирования http://sqliteadmin.orbmu2k.de/ или если нужна поддержка русских символов http://www.sqliteexpert.com/ (версия Personal - бесплатная) |
| Автор: jonie 5.1.2011, 16:36 |
| SQL Server CE тоже неплох. |