轻量级数据库SQL Server Express LocalDb介绍
作者:springsnow 发布时间:2024-01-13 14:29:15
一、介绍
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:\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 对象管理器可以查看已有的连接
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 示例数据库下载
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-works
https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks
来源:https://www.cnblogs.com/springsnow/p/13072462.html


猜你喜欢
- 如何修改程序默认时区由于系统安装时时区可能选择不对,并不是中国的东八区,导致依赖于日期时间函数无法正常使用找到一个比较简单的方法程序启动时加
- 1. jquery.jqzoom.js//*************************************************
- 本文实例讲述了Python实现的维尼吉亚密码算法。分享给大家供大家参考,具体如下:一 代码# -*- coding:utf-8 -*-#ke
- 背景由于阿里云oss,cdn消耗钱的速度比较快,在不知道的情况下,服务就被停了,影响比较大。所以想做个监控。百度一下阿里云账户余额 api
- 本文实例总结了python中日期和时间格式化输出的方法。分享给大家供大家参考。具体分析如下:python格式化日期时间的函数为datetim
- 本文实例为大家分享了python实现飞机大战的具体代码,供大家参考,具体内容如下引用了小甲鱼的框架,往上面添加了一些新功能1、我方飞机模块i
- js 数组对象操作方法如下:1. 创建数组var array1 = [1,2] //方法一var array2 = new Ar
- 前言本文主要给大家介绍了关于Python3列表方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。1 使用[]或
- MySQL密码正确却无法本地登录-1045 Access denied for user 'root'@'local
- 一、创建mysql数据库1.创建数据库语法--创建名称为“testdb”数据库,并设定编码集为utf8CREATE DATABASE IF
- 1. 一个指令定义对象可以提供如下几个钩子函数(均为可选)bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置
- 数据合并有多种方式,其中最常见的应该就是交集和并集的求取。之前通过分析总结过pandas数据merge功能默认的行为,其实默认下求取的就是两
- 学习如何使用 Python 的 Pygame 模块编程电脑游戏,并开始操作引力。真实的世界充满了运动和生活。物理学使得真实的生活如此忙碌和动
- 需求背景公司前端使用 Highcharts 构建图表,图表的图例支持点击显示或隐藏相应的指标。现在有需求后端需要存储用户在前端点击后显示图表
- MySQL数据库应用广泛,尤其对于JAVA程序员,不会陌生。如果在不想采购云数据库的情况下,可以自行安装MySQL数据库。文章将介绍,手动在
- 今天刚接触python,查看了一些环境建立的文章,可能是年代久远很多都不适用,现在mac搭建python环境变得更简单。大神勿喷。首先去py
- 动态加载JavaScript文件和CSS资源为Web前端开发提供了巨大的灵活性,同时也实现了lazy load和按需加载,相比XMLHttp
- 有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录;或者你上一次的commit message的描述有误,这时候你可
- 本文为大家分享了pygame游戏之旅的第10篇,供大家参考,具体内容如下通过获取鼠标的位置然后进行高亮显示:mouse =pygame.mo
- 最近项目中需要Python的打包,看到网上也没有很详细的资料,于是做了一些示例程序。研究了一下,Python如何在Windows和Linux