Создание приложения на C # без SQL Server - PullRequest
3 голосов
/ 09 декабря 2011

Я только начал работать с SQL, и теперь мне нужно создать базу данных для моего приложения на C #, которая будет сохранять имена пользователей и пароли. Думайте об этом как о напоминании пароля.

В любом случае, я думаю, что мне нужно сделать следующее: мне нужно создать базу данных SQL, которую приложение будет использовать только для сохранения данных. На нем не должен быть установлен SQL Server.

Я искал по Интернету, но безрезультатно, все они требуют использования SQL Server, пожалуйста, не могли бы вы предоставить мне шаги для этого или любой ресурс, и большое спасибо.

Ответы [ 6 ]

10 голосов
/ 09 декабря 2011

Вам нужно решить, как вы хотите сохранить свои данные. Вы можете сохранить данные в XML-файле, текстовом файле или чем-либо еще.

Причина, по которой вы видите так много примеров использования SQL, состоит в том, что реляционные базы данных уже решили многие проблемы, с которыми вы можете столкнуться при хранении и извлечении данных. Это означает, что в большинстве случаев гораздо проще использовать базу данных SQL (даже облегченную встроенную), чем пытаться создать собственную библиотеку для извлечения и сохранения данных.

Примечание о сохранении паролей

Помните, что любые данные, которые вы сохраняете на компьютере клиента, будут доступны этому клиенту. Вы можете использовать хитрости, чтобы кому-то было очень трудно получить эти данные, но ваша программа ничего не может сделать, чтобы умный хакер не смог имитировать. Единственный способ не дать пользователям увидеть сохраненные пароли - это заставить пользователя предоставить «главный» пароль, который преобразуется в ключ, который используется для шифрования других паролей. Таким образом, только пользователи, которые знают этот мастер-пароль, смогут получить сохраненные данные.

Хранение данных в реляционной базе данных недостаточно для предотвращения доступа пользователей к этим данным.

2 голосов
/ 09 декабря 2011

Если вам нужен только один файл, который нелегко прочитать, попробуйте зашифровать данные и использовать для хранения текстовые или XML-файлы.

2 голосов
/ 09 декабря 2011

Ваши требования "Я хочу базу данных" и "Я не хочу [сервер базы данных]" трудно сопоставить.

Если у вас есть база данных без сервера базы данных, у вас есть куча недоступных данных.

Если вы хотите использовать базу данных SQL, вам потребуется сервер SQL. Или вам придется повторно внедрить его, чтобы использовать базу данных.

Существует несколько небольших SQL-серверов с открытым исходным кодом. Я работал с HSQL.

Вы можете взглянуть на вопрос SO SQL-lite против HSQL-db .

2 голосов
/ 09 декабря 2011

Вы можете использовать SQL Compact (http://msdn.microsoft.com/en-us/data/ff687142), чтобы избежать установки SQL Server.

Вы также можете перейти на sqlite.org.

1 голос
/ 10 декабря 2011

Вы всегда можете использовать файл CSV (Comma Separated Value) в качестве «базы данных». Я нашел ссылку, которая может помочь вам с этим Запрос CSV с использованием LINQ C # 2010

РЕДАКТИРОВАТЬ: Когда дело доходит до безопасности, вы всегда можете использовать что-то вроде MD5 . Это может превратить пароль в необратимый хеш. Таким образом, никто никогда не сможет увидеть чужие пароли

1 голос
/ 09 декабря 2011

Вам нужно установить базу данных на ваш компьютер, если вы хотите использовать SQL для запроса данных. Это должен быть не SQL Server, а определенно какая-то база данных. Вы можете скачать MySQL, Sql Server Express или любой из бесплатных продуктов баз данных, доступных там.

Как только вы это запустите, запрос к базе данных из c # будет довольно простым, и вам будет проще следовать этому руководству, с функциональностью, аналогичной той, которая вам нужна.

...