Перейти к содержимому

Как установить sqlite на windows 10

  • автор:

Использование базы данных SQLite в приложении Windows

Вы можете использовать SQLite для хранения и извлечения данных в упрощенной базе данных на устройстве пользователя. В этом руководстве показано, как это сделать в приложениях пакета SDK для приложений для приложений windows.

Некоторые преимущества использования SQLite для локального хранения данных

✔️ SQLite является упрощенным и автономным. Это библиотека кода без других зависимых компонентов. Ее не требуется настраивать.

✔️ Тут нет сервера базы данных. Клиент и сервер работают в одном процессе.

✔️ SQLite находится на общедоступном домене, поэтому вы можете свободно использовать и распространять ее в вашем приложении.

✔️ SQLite работает на разных платформах и архитектурах.

Подробнее о SQLite см. здесь.

Выбор слоя абстрагирования

Рекомендуется использовать Entity Framework Core или библиотеку SQLite с открытым кодом, созданную корпорацией Майкрософт.

Entity Framework Core

Entity Framework (EF) — это объектно-реляционный модуль сопоставления, позволяющий разработчикам работать с реляционными данными с помощью объектов, специализированных для доменов. Если вы уже использовали эту платформу для работы с данными в других приложениях .NET, вы можете использовать тот же код в приложении пакета SDK для приложений Windows, и он будет работать с соответствующими изменениями в строка подключения.

Чтобы испытать ее, см. раздел Начало работы с EF Core.

Библиотеке SQLite

Библиотека Microsoft.Data.Sqlite реализует интерфейсы в пространстве имен System.Data.Common. Майкрософт активно поддерживает эти реализации и предоставляет интуитивно понятную оболочку для низкоуровневых собственных API-интерфейсов SQLite.

В остальных разделах этого руководства приведены инструкции по работе с этой библиотекой.

Настройка решения для использования библиотеки Microsoft.Data.SQlite

Мы начнем с базового проекта пакета SDK для приложений Windows, а затем установим пакет NuGet SQLite.

Все поддерживаемые версии Windows поддерживают SQLite, поэтому приложению не нужно упаковать библиотеки SQLite. Вместо этого ваше приложение может использовать версию SQLite, которая поставляется вместе с Windows. Это обеспечивает следующие преимущества.

✔️ Уменьшает размер приложения, так как не требуется скачивать двоичную библиотеку SQLite, а затем упаковывать ее в качестве части приложения.

✔️ Отсутствие необходимости в принудительной передаче новой версии вашего приложения пользователям, если SQLite опубликует важные исправления ошибок и уязвимостей безопасности в SQLite. Версия Windows SQLite обслуживается корпорацией Майкрософт совместно с SQLite.org.

✔️ Загрузка приложения может быть быстрее, так как, скорее всего, версия SDK-пакета SQLite будет уже загружена в память.

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

Щелкните правой кнопкой мыши решение, а затем нажмите кнопку Управление пакетами NuGet для решения.

A screenshot of Visual Studio

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

Перейдите на вкладку «Обзор «, найдите пакет Microsoft.Data.SQLite и установите последнюю стабильную версию.

SQLite NuGet package

Добавление данных в базу данных SQLite и их извлечение

Мы выполним следующие действия.

1️⃣ Подготовка класса доступа к данным.

2️⃣ Инициализация базы данных SQLite.

3️⃣ Вставка данных в базу данных SQLite.

4️⃣ Извлечение данных из базы данных SQLite.

5️⃣ Добавление базового пользовательского интерфейса.

Подготовка класса доступа к данным

DataAccess Откройте класс в проекте и сделайте этот класс статическим.

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

public static class DataAccess

Добавьте следующие using инструкции в начало этого файла.

using Microsoft.Data.Sqlite; using System.Collections.Generic; 

Инициализация базы данных SQLite

Добавьте метод в DataAccess класс, который инициализирует базу данных SQLite.

public async static void InitializeDatabase() < await ApplicationData.Current.LocalFolder .CreateFileAsync("sqliteSample.db", CreationCollisionOption.OpenIfExists); string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sqliteSample.db"); using (var db = new SqliteConnection($"Filename=")) < db.Open(); string tableCommand = "CREATE TABLE IF NOT " + "EXISTS MyTable (Primary_Key INTEGER PRIMARY KEY, " + "Text_Entry NVARCHAR(2048) NULL)"; var createTable = new SqliteCommand(tableCommand, db); createTable.ExecuteReader(); >> 

Приведенный выше код, использующий ApplicationData элементы, будет работать только для упакованных приложений, работающих в контейнере приложений. Все остальные приложения Windows должны обращаться к ApplicationData членам через класс ApplicationDataManager .

Этот код создает базу данных SQLite и сохраняет ее в локальном хранилище данных приложения.

В этом примере мы используем имя базы данных sqlliteSample.db , но вы можете использовать любое имя при условии, что оно будет использоваться во всех объектах SqliteConnection, экземпляры которых необходимо создать. В рабочем приложении сведения о подключении, такие как имя файла базы данных, должны храниться в конфигурации приложения, а не жестко закодированы (см. статью «Добавление Конфигурация приложений Azure с помощью visual Studio Подключение ed Services«).

В конструкторе файла App.xaml.cs проекта вызовите InitializeDatabase метод DataAccess класса. Это обеспечит создание или открытие базы данных при каждом запуске приложения.

public App()

Вставка данных в базу данных SQLite

Добавьте метод в DataAccess класс, который вставляет данные в базу данных SQLite. Этот код использует параметры в запросе для предотвращения атак путем внедрения кода SQL.

public static void AddData(string inputText) < string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sqliteSample.db"); using (var db = new SqliteConnection($"Filename=")) < db.Open(); var insertCommand = new SqliteCommand(); insertCommand.Connection = db; // Use parameterized query to prevent SQL injection attacks insertCommand.CommandText = "INSERT INTO MyTable VALUES (NULL, @Entry);"; insertCommand.Parameters.AddWithValue("@Entry", inputText); insertCommand.ExecuteReader(); >> 

Извлечение данных из базы данных SQLite

Добавьте метод, который получает все строки данных из таблицы в базе данных SQLite.

public static List GetData() < var entries = new List(); string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sqliteSample.db"); using (var db = new SqliteConnection($"Filename=")) < db.Open(); var selectCommand = new SqliteCommand ("SELECT Text_Entry from MyTable", db); SqliteDataReader query = selectCommand.ExecuteReader(); while (query.Read()) < entries.Add(query.GetString(0)); >> return entries; > 

Метод Read считывает строки возвращаемых данных. Возвращается true , если есть строки слева, в противном случае возвращается false .

Метод GetString возвращает значение конкретного столбца в виде строки. Он принимает целое число, представляющее собой отсчитываемый от нуля порядковый номер столбца необходимых данных. Можно использовать похожие методы, такие как GetDataTime и GetBoolean . Выберите метод в зависимости от типа данных в столбце.

Порядковый номер параметра не так важен в этом примере, так как мы выбираем все записи в одном столбце. Тем не менее, если несколько столбцов являются частью запроса, используйте порядковое значение для получения столбца, из которого требуется извлечь данные.

Добавление базового пользовательского интерфейса

В файле MainWindow.xaml проекта добавьте следующий код XAML.

Этот базовый пользовательский интерфейс предоставляет пользователю поле TextBox , которое можно использовать для ввода строки, которую мы добавим в базу данных SQLite. Мы подключимся Button в этом пользовательском интерфейсе к обработчику событий, который будет получать данные из базы данных SQLite и затем отображать их в ListView .

В файле MainWindow.xaml.cs добавьте следующий обработчик. Это метод, который мы связали с кнопкой Click событие Button в пользовательском интерфейсе.

private void AddData(object sender, RoutedEventArgs e)

Мы также хотим убедиться, что все существующие данные загружаются при запуске приложения. Добавьте строку кода в MainWindow конструктор для вызова GetData() .

public MainWindow()

Вот и все. Изучите Microsoft.Data.Sqlite чтобы узнать, что еще можно сделать с вашей базой данных SQLite. Ознакомьтесь со ссылками ниже, чтобы узнать о других способах использования данных в приложениях Windows.

Следующие шаги

Подключение приложения непосредственно к базе данных SQL Server

Совместное использование кода между разными приложениями на различных платформах

Добавление страниц с основными и подробными данными с помощью серверов Azure SQL

См. статью Customer Orders Database sample (Пример базы данных заказов клиентов).

SQLite — Установка

SQLite славится своей отличной нулевой конфигурацией, что означает, что не требуется сложной настройки или администрирования. В этой главе мы рассмотрим процесс настройки SQLite в Windows, Linux и Mac OS X.

Установка SQLite в Windows

  • Шаг 1 — Перейдите на страницу загрузки SQLite и загрузите предварительно скомпилированные двоичные файлы из раздела Windows.
  • Шаг 2. Загрузите файлы zlip-sqlite-win32 — *. Zip и sqlite-dll-win32 — *.zip .
  • Шаг 3 — Создайте папку C:\> sqlite и разархивируйте над двумя zip-файлами в этой папке, которые предоставят вам sqlite3.def, sqlite3.dll и sqlite3.exe файлы.
  • Шаг 4 — Добавьте C: \> sqlite в переменную среды PATH и, наконец, перейдите в командную строку и выполните команду sqlite3 , которая должна отобразить следующий результат.
C:\>sqlite3 SQLite version 3.25.3 2018-11-29 17:11:07 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite>

Установка SQLite в Linux

  • Шаг 1 — Перейдите на страницу загрузки SQLite и загрузите sqlite-autoconf — *. Tar.gz из раздела исходного кода.
  • Шаг 2 — Запустите следующую команду:
$tar xvfz sqlite-autoconf-3071502.tar.gz $cd sqlite-autoconf-3071502 $./configure --prefix = /usr/local $make $make install

Как установить расширение для SQLite на Windows?

Установить расширение в SQLite, если готового файла библиотеки найти не удалось, как оказалось, не так просто. Полного и подробного гайда я так и не нашёл, так что пришлось по крупицам собирать информацию, и теперь для таких же странствующих в поисках ответов, как и я, вот 10 шагов для решения поставленной задачи.

Отслеживать
задан 15 июн 2022 в 20:11
157 10 10 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Вот полное руководство по установке расширения для SQLite на Windows:

  1. Установите MinGW с GCC
  2. Скачайте .c файл желаемого расширения (например, uuid.c)
  3. Скачайте с этой страницыSource Code и Precompiled Binaries for Windows
  4. Поместите файлы из «sqlite-dll-win64-x64-XXXXXXX.zip» (или win32) и «sqlite-tools-win32-x86-XXXXXXX.zip» в папку System32
  5. Поместите желаемый файл uuid.c и файлы из «sqlite-amalgamation-XXXXXXX.zip» в любую папку по своему усмотрению
  6. Запустите CMD и перейдите в директорию с файлом uuid.c
  7. Введите в консоль gcc -g -shared uuid.c -o uuid.so
  8. Если кто-либо (даже вы сами) говорит вам, что на Windows вам следует использовать расширение .dll, плюньте ему в лицо
  9. Переместите полученный uuid.so файл в папку System32
  10. Запустите CMD ещё раз и введите команду .load uuid ИЛИ введите SELECT load_extension(‘uuid’) в качестве SQL-скрипта

На этом всё!

Отслеживать
ответ дан 15 июн 2022 в 20:11
157 10 10 бронзовых знаков

Вы серьезно предлагаете вместо скачивания библиотеки ставить mingw и gcc и считаете что это проще чем скачать файл и закинуть в системную папку?)

15 июн 2022 в 20:22

Если библиотеку легко найти в уже скомпилированном виде, то этот вариант очевиден и даже в упоминании не нуждается, так что не нужно, пожалуйста, язвить

Начало работы с базами данных на подсистема Windows для Linux

Это пошаговое руководство поможет вам приступить к подключению проекта в WSL к базе данных. Начало работы с MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server или SQLite.

Необходимые компоненты

  • Под управлением Windows 11 или Windows 10 обновлено до версии 2004, сборка 19041 или более поздняя.
  • Установите дистрибутив Linux с помощью WSL и создайте имя пользователя и пароль Linux.

Различия между системами баз данных

Некоторые популярные варианты для системы базы данных:

  • MySQL (SQL)
  • PostgreSQL (SQL)
  • Microsoft SQL Server (SQL)
  • SQLite (SQL)
  • MongoDB (NoSQL)
  • Redis (NoSQL)

MySQL — это реляционная база данных SQL с открытым исходным кодом, упорядочение данных в одну или несколько таблиц, в которых типы данных могут быть связаны друг с другом. Это вертикально масштабируемый, что означает, что одна конечная машина будет выполнять для вас работу. В настоящее время он является наиболее широко используемым в четырех системах баз данных.

PostgreSQL (иногда называют Postgres) также реляционной базой данных SQL с открытым исходным кодом с акцентом на расширяемость и соответствие стандартам. Теперь она также может обрабатывать JSON, однако обычно лучше подходит для структурированных данных, вертикального масштабирования и требований ACID, таких как электронная коммерция и финансовые транзакции.

Microsoft SQL Server включает SQL Server в Windows, SQL Server на Linux и SQL в Azure. Это также реляционные системы управления базами данных, настроенные на серверах с основной функцией хранения и извлечения данных, запрашиваемых программными приложениями.

SQLite — это локальная база данных с открытым кодом, основанная на файлах, бессерверная база данных, известная как переносимость, надежность и хорошая производительность даже в средах с низкой памятью.

MongoDB — это база данных документов NoSQL с открытым исходным кодом, предназначенная для работы с JSON и хранения данных без схемы. Он является горизонтально масштабируемым, что означает, что несколько небольших компьютеров будут выполнять работу для вас. Это хорошо для гибкости и неструктурированных данных, а также кэширования аналитики в режиме реального времени.

Redis — это хранилище данных с открытым исходным кодом NoSQL в памяти. Он использует пары «ключ-значение» для хранения вместо документов.

Установка MySQL

Чтобы установить MySQL в дистрибутиве Linux, работающем в WSL, просто следуйте инструкциям по установке MySQL в Linux в документации MySQL. Возможно, сначала потребуется включить системную поддержку в wsl.conf файле конфигурации.

Пример использования дистрибутива Ubuntu:

  1. Откройте командную строку Ubuntu и обновите доступные пакеты: sudo apt update
  2. После обновления пакетов установите MySQL с помощью следующих компонентов: sudo apt install mysql-server
  3. Подтвердите установку и получите номер версии: mysql —version
  4. Запустите MySQL Server или состояние проверка: systemctl status mysql
  5. Чтобы открыть запрос MySQL, введите: sudo mysql
  6. Чтобы просмотреть доступные базы данных, в командной строке MySQL введите: SHOW DATABASES;
  7. Чтобы создать новую базу данных, введите: CREATE DATABASE database_name;
  8. Чтобы удалить базу данных, введите: DROP DATABASE database_name;

Дополнительные сведения о работе с базами данных MySQL см. в документации по MySQL.

Чтобы работать с базами данных MySQL в VS Code, попробуйте расширение MySQL.

Кроме того, может потребоваться запустить включенный скрипт безопасности. Это изменяет некоторые из менее безопасных параметров по умолчанию для таких элементов, как удаленные имена для входа в корне и примеры пользователей. Этот скрипт также включает шаги по изменению пароля для корневого пользователя MySQL. Чтобы запустить скрипт безопасности, выполните следующие действия:

  1. Запустите сервер MySQL: sudo service mysql start
  2. Запустите запросы скрипта безопасности: sudo mysql_secure_installation
  3. В первом запросе будет предложено настроить компонент VALIDATE PASSWORD, который можно использовать для проверки надежности пароля MySQL. Если вы хотите задать простой пароль, этот компонент не следует задавать.
  4. Затем вы настроите или измените пароль для корневого пользователя MySQL, решите, следует ли удалять анонимных пользователей, разрешать корневому пользователю входить как локально, так и удаленно, решать, следует ли удалить тестовую базу данных, а затем решить, следует ли немедленно перезагрузить таблицы привилегий.

Установка PostgreSQL

Установка PostgreSQL в WSL (т. е. Ubuntu):

  1. Откройте терминал WSL (т. е. Ubuntu).
  2. Обновите пакеты Ubuntu: sudo apt update
  3. После обновления пакетов установите PostgreSQL (и пакет -contrib с некоторыми полезными служебными программами) с помощью команды sudo apt install postgresql postgresql-contrib .
  4. Подтвердите установку и получите номер версии: psql —version

Есть 3 команды, о которых необходимо знать после установки PostgreSQL:

  • sudo service postgresql status позволяет проверить состояние базы данных.
  • sudo service postgresql start позволяет запустить базу данных.
  • sudo service postgresql stop позволяет завершить работу с базой данных.

Администратору по умолчанию postgres требуется назначать пароль для подключения к базе данных. Чтобы задать пароль, сделайте следующее:

  1. Введите команду: sudo passwd postgres .
  2. Появится запрос на ввод нового пароля.
  3. Закройте и снова откройте терминал.

Чтобы запустить PostgreSQL с помощью оболочки psql , выполните следующую команду:

  1. Запустите службу postgres: sudo service postgresql start
  2. Подключитесь к службе postgres и откройте оболочку psql: sudo -u postgres psql

После успешного входа в оболочку psql вы увидите, что ваша командная строка будет выглядеть следующим образом: postgres=#

Кроме того, вы можете открыть оболочку psql, перейдя к пользователю postgres с помощью команды su — postgres , а затем введя команду psql .

Чтобы выйти из postgres=# ввод, \q или используйте сочетание клавиш: CTRL+D

Чтобы узнать, какие учетные записи пользователей были созданы в установке PostgreSQL, в терминале WSL введите psql —command=»\du» или просто \du , если оболочка psql открыта. Эта команда будет отображать столбцы: имя пользователя учетной записи, список атрибутов ролей и член групп ролей. Чтобы вернуться в командную строку, введите: q .

Дополнительные сведения о работе с базами данных PostgreSQL см. в документации PostgreSQL.

Чтобы работать с базами данных PostgreSQL в VS Code, попробуйте расширение PostgreSQL.

Установка MongoDB

Сведения об установке MongoDB см. в документации Mongodb: Установка MongoDB Community Edition в Linux

Установка MongoDB может потребовать немного разных шагов в зависимости от дистрибутива Linux, используемого для установки. Кроме того, обратите внимание, что установка MongoDB может отличаться в зависимости от версии, которую вы стремитесь установить. Используйте раскрывающийся список версий в левом верхнем углу документации MongoDB, чтобы выбрать версию, которая соответствует вашей цели. Наконец, может потребоваться включить системную поддержку в wsl.conf файле конфигурации дистрибутива Linux, который вы используете с WSL. Команда systemctl является частью системы инициализации системы и может не работать, если дистрибутив использует systemv.

VS Code поддерживает работу с базами данных MongoDB с помощью расширения Azure CosmosDB. Вы можете создавать базы данных MongoDB, отправлять к ним запросы, а также управлять этими базами данных из VS Code. Дополнительные сведения см. в документации по VS Code: работа с MongoDB.

Дополнительные сведения см. в документации по MongoDB:

  • Общие сведения об использовании MongoDB
  • Создание пользователей
  • CRUD: создание, чтение, обновление, удаление
  • Справочная документация

Установка Microsoft SQL Server

Чтобы установить SQL Server в дистрибутиве Linux, запущенном WSL, SQL Server на Linux. Чтобы работать с базами данных Microsoft SQL Server в VS Code, попробуйте расширение MSSQL.

Установка SQLite

Установка SQLite в WSL (т. е. Ubuntu):

  1. Откройте терминал WSL (т. е. Ubuntu).
  2. Обновите пакеты Ubuntu: sudo apt update
  3. После обновления пакетов установите SQLite3 с помощью следующих компонентов: sudo apt install sqlite3
  4. Подтвердите установку и получите номер версии: sqlite3 —version

Чтобы создать тестовую базу данных с именем example.db, введите: sqlite3 example.db

Чтобы просмотреть список баз данных SQLite, введите следующее: .databases

Чтобы просмотреть состояние базы данных, введите: .dbinfo ?DB?

База данных будет пуста после создания. Вы можете создать новую таблицу для базы данных с помощью CREATE TABLE empty (kol INTEGER); .

Теперь введите .dbinfo ?DB? созданную базу данных.

Чтобы выйти из запроса SQLite, введите следующее: .exit

Дополнительные сведения о работе с базой данных SQLite см. в документации ПО SQLite.

Чтобы работать с базами данных SQLite в VS Code, попробуйте расширение SQLite.

Установка Redis

Установка Redis в WSL (т. е. Ubuntu):

  1. Откройте терминал WSL (т. е. Ubuntu).
  2. Обновите пакеты Ubuntu: sudo apt update
  3. После обновления пакетов установите Redis со следующими параметрами: sudo apt install redis-server
  4. Подтвердите установку и получите номер версии: redis-server —version

Чтобы начать работу сервера Redis, выполните приведенные далее действия. sudo service redis-server start

Проверьте, работает ли redis (redis-cli — это служебная программа интерфейса командной строки для беседы с Redis): redis-cli ping это должно вернуть ответ PONG.

Чтобы остановить запуск сервера Redis, выполните приведенные действия. sudo service redis-server stop

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

Чтобы работать с базами данных Redis в VS Code, попробуйте расширение Redis.

Просмотр запущенных и настроенных псевдонимов профилей служб

Чтобы просмотреть службы, которые в настоящее время запущены в дистрибутиве WSL, введите: service —status-all

Вводить sudo service mongodb start или sudo service postgres start и sudo -u postgrest psql может быть утомительно. Однако, вы можете рассмотреть возможность установки псевдонимов в файле .profile на WSL, чтобы сделать эти команды более быстрыми в использовании и легкими в запоминании.

Настройка собственного пользовательского псевдонима или ярлыка для выполнения этих команд:

  1. Откройте терминал WSL и введите cd ~ , чтобы убедиться, что вы находитесь в корневом каталоге.
  2. Откройте файл .profile , управляющий настройками терминала, в текстовом редакторе терминала Nano: sudo nano .profile .
  3. В нижней части файла (не меняйте настройки # set PATH ) добавьте следующее:

# My Aliases alias start-pg='sudo service postgresql start' alias run-pg='sudo -u postgres psql' 

Устранение неполадок

Ошибка: недопустимый аргумент fdatasync для синхронизации каталогов

Убедитесь, что дистрибутив Linux запущен в режиме WSL 2. Сведения о переходе с WSL 1 на WSL 2 см. в разделе «Настройка версии распространения» на WSL 1 или WSL 2.

Дополнительные ресурсы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *