热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析轻量级数据库SQLServerExpressLocalDB

本文详细介绍了SQLServerExpressLocalDB,这是一种轻量级的本地T-SQL数据库解决方案,特别适合开发环境使用。文章还探讨了LocalDB与其他轻量级数据库的对比,并提供了安装和连接LocalDB的步骤。

概述


SQL Server Express LocalDB 是一种轻量级的本地数据库引擎,专为开发环境设计,支持 T-SQL 语言。LocalDB 可以作为 SQL Server 的一个简化版本,但仅限于本地使用,不支持网络连接。



一、SQL Server Express LocalDB 简介


1. 基本概念


全称:SQL Server Express LocalDB


LocalDB 是 SQL Server Express 的一个轻量级版本,主要面向开发者,提供了一个简单、快速的本地数据库环境。它不需要复杂的安装过程,可以随应用程序一起分发。



2. 与 SQL Server Express 的比较


虽然 LocalDB 不能完全替代 SQL Server Express,但它为开发者提供了另一种选择,并保持了与 SQL Server Express 的高度兼容性。以下是 LocalDB 与其他轻量级数据库的对比:



3. 与 SQL Server Compact 的区别


SQL Server Compact 是另一种轻量级数据库,主要用于嵌入式应用。以下是它们之间的主要区别:



  • 运行模式:SQL Server Compact 是一个进程内的 DLL,而 LocalDB 则作为一个独立的进程运行。

  • 磁盘占用:SQL Server Compact 的体积约为 4MB,而 LocalDB 安装后的体积约为 250MB。

  • 功能特性:SQL Server Compact 仅提供 RDBMS 的核心功能,而 LocalDB 支持更多高级功能,如存储过程、几何和地理数据类型。



二、安装 SQL Server Express LocalDB


1. 通过 Visual Studio 安装


Visual Studio 在安装过程中会自动安装 SQL Server Express LocalDB。如果你选择了 .NET 开发负载,LocalDB 会自动包含在内。如果没有,可以在“单个组件”中手动选择 LocalDB 及其依赖项。



2. 单独安装 SQL Server Express LocalDB


你也可以从 Microsoft 官方网站单独下载 SQL Server Express LocalDB。访问 SQL Server 下载页面,选择 SQL Server 2019 Express 版本进行下载。下载完成后,按照提示安装 LocalDB。



三、连接 SQL Server Express LocalDB


使用 Windows 身份验证连接 LocalDB 非常简单。在 SQL Server Management Studio (SSMS) 中,选择“数据库引擎”作为服务器类型,并使用以下实例名进行连接:



  • SQL Server 2012 LocalDB 实例名:(localdb)\v11.0

  • SQL Server 2019 LocalDB 实例名:(localdb)\MSSQLLocalDB



1. 使用 SSMS 连接 LocalDB


在 SSMS 中,输入上述实例名并使用 Windows 身份验证进行连接。如果遇到排序规则问题,可以通过以下命令手动指定排序规则:


CREATE DATABASE dbname COLLATE Chinese_PRC_CI_AS;


2. 在 Visual Studio 中连接 LocalDB


在 Visual Studio 中,通过“服务器资源管理器”添加新的数据连接。将服务器名设置为 (localdb)\MSSQLLocalDB,并选择或附加所需的数据库文件。生成的连接字符串示例如下:


data source=(localdb)\MSSQLLocalDB;attachdbfilename=|DataDirectory|musicdbcontext.mdf;initial catalog=musicdbcontext;integrated security=true


3. 编写程序读取 LocalDB 数据


以下是一个简单的 C# 示例,演示如何从 LocalDB 中读取数据:


using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;

namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
string cOnnectionString= "data source=(localdb)\\MSSQLLocalDB;initial catalog=musicdbcontext;integrated security=true";
using (SqlConnection cOnnection= new SqlConnection(connectionString))
{
connection.Open();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Musics", connection);
DataTable table = new DataTable();
adapter.Fill(table);
var result = from row in table.Rows.Cast()
select new { Id = (int)row[0], Title = (string)row[1], ReleaseDate = (DateTime)row[2] };
foreach (var x in result)
{
Console.WriteLine($"{x.Id}, {x.Title}, {x.ReleaseDate}");
}
}
}
}
}


四、示例数据库下载


Microsoft 提供了一些常用的示例数据库,可以帮助开发者更好地理解和测试 LocalDB。以下是一些推荐的示例数据库:



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文介绍了如何在 DB2 环境中创建和删除数据库编目。创建编目是连接新数据库的必要步骤,涉及获取数据库连接信息、使用命令行工具进行配置,并验证连接的有效性。删除编目则用于移除不再需要的数据库连接。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 本文介绍如何在SQL Server中对Name列进行排序,使特定值(如Default Deliverable Submission Notification)显示在结果集的顶部。 ... [详细]
  • 20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ... [详细]
  • 本文详细介绍了如何在 MySQL 中授予和撤销用户权限。包括创建用户、赋予不同级别的权限(如表级、数据库级、服务器级)、使权限生效、查看用户权限以及撤销权限的方法。此外,还提供了常见错误及其解决方法。 ... [详细]
author-avatar
tina田小甜Shirley
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有