欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

程序员文章站 2022-06-21 13:32:26
真觉得自己的知识面还是比较窄,在此之前,居然还不知道SqlLocalDb。 SqlLocalDb是啥?其实就是简化SQL Server的本地数据库,可以这样子说,SQL Server既可以作为远程,也可以做本地, 而SqlLocalDb只能作为本地使用。说的直接一点,SqlLocalDb就是一个轻量 ......

真觉得自己的知识面还是比较窄,在此之前,居然还不知道sqllocaldb。

sqllocaldb是啥?其实就是简化sql server的本地数据库,可以这样子说,sql server既可以作为远程,也可以做本地,

而sqllocaldb只能作为本地使用。说的直接一点,sqllocaldb就是一个轻量级的基于本地的t-sql数据库,全称:sql server express localdb。

好,废话不多说。

第一,怎么安装这个sqllocaldb?

1)如果安装过visual studio 2015、2017,一般已经安装到了电脑里。

     这里以visual studio 2017为例,在visual studio installer中的单个组件页面中,可以看到该组件已经被安装(红色框框部分):

    [C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

2)或者到visual studio 2017安装包安装该组件:

     64位:

     [C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

    32位:

    [C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

3)到sql server下载中心下载sql server express:https://download.microsoft.com/download/5/e/9/5e9b18cc-8fd5-467e-b5bf-bade39c51f73/sqlserver2017-ssei-expr.exe

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

[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

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

[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

注:sql server 2016 express localdb微软已经不再提供,目前为最新的,也就是以上的2017版本。

4)百度网盘下载:https://pan.baidu.com/s/12ukj7iee_45p0choi4b39w

[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

根据系统类型安装不同的sqllocaldb。

第二、连接sqllocaldb

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

[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

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

[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

然后附加一个名称为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

第三,编写程序对已有数据的读取

如下代码所示:

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}"));
        }
    }
}

运行结果如下:

[C#]SQL Server Express LocalDb(SqlLocalDb)的一些体会

  注:musicdbcontext.mdf可以在百度网盘下载,地址:https://pan.baidu.com/s/1zgkplcetto-xmneh3-8foq

第四、一些关于sqllocaldb的参考资料