轻量级数据库SQL Server Express LocalDb介绍

2023年 8月 13日 109.4k 0

目录
  • 一、介绍
    • 1、sqlLocalDb
    • 2、轻量级数据库对比(LocalDB vs. SQL Express vs. Compact)
  • 二、安装这个SqlLocalDb
    • 1、通过VS Installer安装:
    • 2、通过SQL Server Express安装
  • 三、连接SqlLocalDB
    • 1、SSMS可以连接此实例。
    • 2、VS连接到SQLLoalDB
    • 3、编写程序对已有数据的读取
  • 四、SQL 示例数据库下载

    一、介绍

    1、SqlLocalDb

    全称:SQL Server Express LocalDb。

    简化SQL Server的本地数据库。SqlLocalDb就是一个轻量级的基于本地的T-SQL数据库。

    SQL Server既可以作为远程,也可以做本地。而SqlLocalDb只能作为本地使用,不支持联网,只能本机连接。

    2、轻量级数据库对比(LocalDB vs. SQL Express vs. Compact)

    LocalDB并不能完全替代SQL Server Express,它只是对开发人员提供了另外一种选择,并保证与SQL Server Express一致的兼容性。

    LocalDB与SQL Server Compact之间有很大区别。

    最新的Microsoft SQL Server Compact 4.0 SP1 是一种免费的嵌入式数据库,软件开发人员可以使用它来构建 asp.net 网站和 windows 桌面应用程序。

    SQL Server Compact 4.0 的优点是:占用的空间小,支持在应用程序文件夹中专门部署其二进制文件,轻松地使用 Visual Studio 和 WEBMatrix 进行应用程序开发,以及无缝地将架构和数据迁移到 SQL Server。

    单独下载地址:

    https://www.microsoft.com/zh-CN/download/details.aspx?id=30709

    CompactView(sdf文件查看器):

    Https://sourceforge.net/projects/compactview/files/

    SQL Server Compact的特点:

    • 运行模式:SQL Server Compact是一个进程内(in-proc)DLL,LocalDB则作为独立进程运行。
    • 磁盘占用:SQL Server Compact的体积仅有4MB,LocalDB安装之后则有250MB。
    • 功能特性:SQL Server Compact仅提供RDBMS的核心功能,而LocalDB则提供更丰富的功能,比如存储过程、几何和地理数据类型。

    二、安装这个SqlLocalDb

    Visual Studio 安装时会自动装上MSSQLLocalDB 。

    1、通过VS Installer安装:

    Visual Studio 2019  内置的SQL Server 2016 Express LocalDB。

    如果选了.NET负载,直接在里面勾上就行;如果没有,选到单个组件,勾上localdb,会自动勾上下一项那个依赖。

    2、通过SQL Server Express安装

    最新版单独下载SQL Server Express:

    https://download.microsoft.com/download/7/f/8/7f8a9c43-8c8a-4f7c-9f92-83c18d96b681/SQL2019-SSEI-Expr.exe

    (SQL Server Express入口:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads)

    注:SQL Server 2016 Express LocalDB微软已经在SQL Server Express不再提供,目前为最新的为2019版本。

    下载之后,打开该引用,并点击“下载介质”:

    在弹出的页面中,选择LocalDB(第三个),点击下一步下载SqlLocalDB.msi

    下载后安装

    安装后:

    2012的版本为11,2016的版本为13,2019的版本为15。

    三、连接SqlLocalDB

    使用 Windows 身份验证,服务器类型:数据库引挈。 

    LocalDB的实例归类设置为SQL_Latin1_General_CP1_CI_AS,不能更改,导致的最直接的结果就是直接新建数据库会存不了中文。

    解决办法是对于每一个数据库手动指定排序规则:

    create/alter database DBName
    COLLATE Chinese_PRC_CI_AS

    1、SSMS可以连接此实例。

    连接SqlLocalDB2012 :实例名: (LocalDb)v11.0

    连接SqlLocalDB2019 :实例名: (LocalDb)MSSQLLocalDB

    2、VS连接到SQLLoalDB

    1、打开Visual Studio 2019,依次点击“视图”(菜单栏)->“服务器资源管理器”,将会打开“服务器资源管理器”窗口:

    2、右键点击“数据连接”,在弹出的上下文菜单中选择“添加连接”,在弹出的窗口中将“服务器名”设置为(LocalDb)MSSQLLocalDB,如下图所示:

    然后附加一个名称为MusicDBContext.mdf的数据库文件(文件可以自己定义)并点击确定,此时,MusicDBContext.数据库作为默认的数据库,我们可以选择SQLLocalDB中的其他已有数据库。

    生成的连接字符串如下:

    Data Source=(LocalDb)MSSQLLocalDB;AttachDbFilename=C:UsersCNCDesktopMusicDBContext.mdf;Initial Catalog=MusicDBContext;Integrated Security=True

    我们可以将mdf文件的路径改为相对路径:

    Data Source=(LocalDb)MSSQLLocalDB;AttachDbFilename=|DataDirectory|MusicDBContext.mdf;Initial Catalog=MusicDBContext;Integrated Security=True

    3、SQL Server 对象管理器可以查看已有的连接

    3、编写程序对已有数据的读取

    如下代码所示:

    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";
    SqlConnection connection = new SqlConnection(connectionString);
    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] });
    result.ToList().ForEach(x => Console.WriteLine($"{x.ID},{x.Title},{x.ReleaseDate}"));
    }
    }
    }

    运行结果如下:

    四、SQL 示例数据库下载

    SQL 示例数据库:

    • northwind-pubs:

    https://GitHub.com/microsoft/sql-server-samples/tree/master/samples/databases/northwind-pubs

    • adventureworks:

    https://github.com/microsoft/sql-server-samples/tree/master/samples/databases/adventure-workshttps://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks

    到此这篇关于轻量级数据库SQL Server Express LocalDb的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

    相关文章

    Oracle如何使用授予和撤销权限的语法和示例
    Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
    下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
    社区版oceanbase安装
    Oracle 导出CSV工具-sqluldr2
    ETL数据集成丨快速将MySQL数据迁移至Doris数据库

    发布评论