SQL 数据库的单独文件

Separate file for SQL database

使用 Visual Studio 2017,对于 C# 项目,如何在单独的可移植文件中创建我的 SQL 数据库?

SQLite

An SQLite database is a single file. The tables and data, triggers, foreign keys, and constraints are all stored in this file. Your application reads and writes to the database by calling SQLite. When you do a SELECT or UPDATE, SQLite reads and writes to the file....

从这里复制了这段文字:https://www.c-sharpcorner.com/UploadFile/afenster/using-sqlite-with-net/

您还可以在该页面查看如何使用数据库的示例。网上还有很多其他教程。

Visual Studio“本地”数据库是 LocalDB。此信息很快就会过时,但这是当前情况,总结自下面的 link

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-express-localdb?view=sql-server-ver15

  • 可以通过 Visual Studio 安装程序安装 LocalDB
  • SqlLocalDB.exe 实用程序可让您管理 LocalDB(即 start/stop/create/delete)
  • 无法通过 SQL Management Studio 远程管理 LocalDB。
  • 用户计算机上安装的每个版本的 LocalDB 都存在一个 LocalDB 的“自动”实例。这是 public 并为用户自动创建和管理
  • 使用LocalDB最简单的方法是使用连接字符串Server=(localdb)\MSSQLLocalDB;Integrated Security=true连接到当前用户拥有的自动实例。要使用文件名连接到特定数据库,请使用类似于 Server=(LocalDB)\MSSQLLocalDB;Integrated Security=true;AttachDbFileName=D:\Data\MyDB1.mdf
  • 的连接字符串进行连接

我从来没有设法找到关于如何部署它的明确说明。可以说您应该能够轻松地在目标机器上安装 LocalDB 并部署您的 MDF 文件供其使用。

如果您想扩展您的用例,可能还有其他选择。

I have a software that I will run to gather data. This software will, hopefully in a near future, allow to consult the data. But if I am the "gatherer" the "reader" will be someone else. I need to send the data there.

例如,您可以使用云数据库(Azure SQL 将是 visual studio 本机平台)。您不需要安装任何东西,它会自动备份。它 public 任何人都可以访问(并且可以锁定)。缺点是 250Gb

每月大约需要 8.00 美元