SQL Server Express LocalDb(SqlLocalDb)介紹


一、介紹

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,會自動勾上下一項那個依賴。

image

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版本。

下載之后,打開該引用,並點擊“下載介質”:

image

在彈出的頁面中,選擇LocalDB(第三個),點擊下一步下載SqlLocalDB.msi

image

下載后安裝

image

安裝后:

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

image

二、連接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

image

2、VS連接到SQLLoalDB

1、打開Visual Studio 2019,依次點擊“視圖”(菜單欄)->“服務器資源管理器”,將會打開“服務器資源管理器”窗口:

2、右鍵點擊“數據連接”,在彈出的上下文菜單中選擇“添加連接”,在彈出的窗口中將“服務器名”設置為(LocalDb)\MSSQLLocalDB,如下圖所示:

然后附加一個名稱為MusicDBContext.mdf的數據庫文件(文件可以自己定義)並點擊確定,此時,MusicDBContext.數據庫作為默認的數據庫,我們可以選擇SQLLocalDB中的其他已有數據庫。

生成的連接字符串如下:

Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=C:\Users\CNC\Desktop\MusicDBContext.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 對象管理器可以查看已有的連接

image

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<DataRow>()
                          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 示例數據庫下載

image

SQL 示例數據庫:

  1. northwind-pubs:
    https://github.com/microsoft/sql-server-samples/tree/master/samples/databases/northwind-pubs
    image
  2. adventureworks:
    https://github.com/microsoft/sql-server-samples/tree/master/samples/databases/adventure-works
    https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks
    image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM