0. 前言
SQL Server LocalDB 是 Microsoft 提供的一种轻量级 SQL Server 实例,专为开发和测试场景设计。它易于安装和配置,非常适合在本地计算机上进行开发工作。本文将介绍如何在 C# 应用程序中使用 SQL Server LocalDB,包括安装、配置和连接的步骤。
1. 安装 SQL Server LocalDB
SQL Server LocalDB 通常作为 SQL Server Express 的一部分提供。可以通过以下几种方式来安装 LocalDB:
- 通过 SQL Server Express 安装程序:选择安装过程中提供的 LocalDB 选项。
- 从 Microsoft 下载页面下载:可以直接下载 LocalDB 的安装包并进行安装。
2. 创建 LocalDB 实例
安装完成后,可以使用 SqlLocalDB.exe
工具来创建和管理 LocalDB 实例。打开命令提示符或 PowerShell,并使用以下命令来创建 LocalDB 实例:
SqlLocalDB.exe create "MyLocalDBInstance"
在目录下,可以查看创建的数据库实例文件夹
启动实例:
SqlLocalDB.exe start "MyLocalDBInstance"
3. 连接到 LocalDB 实例
在 C# 应用程序中,可以使用 System.Data.SqlClient
或 Microsoft.Data.SqlClient
库来连接 SQL Server LocalDB。首先,确保项目中已经添加了对应的 NuGet 包:
System.Data.SqlClient
:对于 .NET Framework 项目Microsoft.Data.SqlClient
:对于 .NET Core 或 .NET 5/6+ 项目
使用以下命令在项目中安装:
dotnet add package Microsoft.Data.SqlClient
或者
<ItemGroup>
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.2.2" />
</ItemGroup>
4. 编写 C# 代码连接 LocalDB
下面的代码示例演示了如何在 C# 中连接到 LocalDB、创建数据库、执行查询和处理结果。
using System;
using Microsoft.Data.SqlClient; // 对于 .NET Core 或 .NET 5/6+
class Program
{
static void Main()
{
// 连接字符串
string connectionString = @"Server=(localdb)\MyLocalDBInstance;Integrated Security=true;";
// 创建数据库和表的 SQL 语句
string createDatabaseQuery = "CREATE DATABASE TestDB;";
string createTableQuery = "CREATE TABLE TestDB.dbo.Person (Id INT PRIMARY KEY IDENTITY, Name NVARCHAR(50));";
// 插入数据的 SQL 语句
string insertDataQuery = "INSERT INTO TestDB.dbo.Person (Name) VALUES ('John Doe');";
// 连接到 LocalDB 实例
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
// 打开连接
connection.Open();
// 执行创建数据库的命令
using (SqlCommand command = new SqlCommand(createDatabaseQuery, connection))
{
command.ExecuteNonQuery();
Console.WriteLine("Database created successfully.");
}
// 执行创建表的命令
using (SqlCommand command = new SqlCommand(createTableQuery, connection))
{
command.ExecuteNonQuery();
Console.WriteLine("Table created successfully.");
}
// 执行插入数据的命令
using (SqlCommand command = new SqlCommand(insertDataQuery, connection))
{
command.ExecuteNonQuery();
Console.WriteLine("Data inserted successfully.");
}
// 查询数据并显示结果
string selectQuery = "SELECT * FROM TestDB.dbo.Person;";
using (SqlCommand command = new SqlCommand(selectQuery, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"ID: {reader["Id"]}, Name: {reader["Name"]}");
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"An error occurred: {ex.Message}");
}
}
}
}
执行结果
创建数据库
5. 使用SSMS链接
按照以下步骤操作,可以在 SQL Server Management Studio (SSMS) 中连接到 SQL Server LocalDB:
-
打开 SSMS:启动 SQL Server Management Studio。
-
连接到服务器:
- 在 “连接到服务器” 窗口中,设置 服务器类型 为 “数据库引擎”。
- 服务器名称 输入 LocalDB 实例名称,通常格式为
(localdb)\MyLocalDBInstance
。如果使用默认实例,输入(localdb)\MSSQLLocalDB
。 - 身份验证 选择 “Windows 身份验证”。
-
点击 “连接”:然后,就可以管理 LocalDB 实例中的数据库了。
如果实例名称不确定,可以使用SqlLocalDB.exe info
命令查看所有 LocalDB 实例。
6. 总结
通过以上步骤,可以在 C# 应用程序中成功连接和操作 SQL Server LocalDB。LocalDB 为开发提供了一个轻量级的数据库环境,非常适合本地开发和测试。在实际生产环境中,可能会使用完整的 SQL Server 实例,但 LocalDB 是一个极好的开发工具,可以帮助更快速地进行开发和测试。