zoukankan      html  css  js  c++  java
  • .NET Core开发日志——Linux版本的SQL Server

    SQL Server 2017版本已经可以在Linux系统上安装,但我在尝试.NET Core跨平台开发的时候使用的是Mac系统,所以这里记录了在Mac上安装SQL Server的过程。

    最新的SQL Server没有专门为Mac系统准备安装包,但由于Mac系统上支持Docker,所以可以用一种变通的方式——在Docker内部安装Linux版本的SQL Server。

    系统要求

    因为我的Macbook Air型号比较老,硬件条件很一般,所以首先确定下是否满足安装SQL Server的条件。官方给出的配置如下:

    内存 2 GB
    文件系统 XFS or EXT4 (other file systems, such as BTRFS, are unsupported)
    磁盘空间 6 GB
    处理器速度 2 GHz
    处理器核数 2 cores
    处理器类型 x64-compatible only

    要求不高,看来没有什么问题。

    Docker应用程序

    Mac版本的Docker可以通过下列地址下载:
    Docker Community Edition for Mac
    完成安装后还可以用docker -v命令验证结果。

    Docker镜像

    有了Docker程序后,第一步先要做的事情是拉取SQL Server用于linux系统的镜像。

    docker pull microsoft/mssql-server-linux:2017-latest
    

    Docker容器

    接着通过已拉取的镜像启动容器

    docker run -d --name macsqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Passw1rd' -e 'MSSQL_PID=Developer' -p 1433:1433 microsoft/mssql-server-linux:2017-latest
    

    在此命令中所用的参数都有实际用途:
    -d 以daemon模式运行容器,即所启动的应用程序在后台运行
    --name 为容器赋予名称
    -e 'ACCEPT_EULA=Y' 在容器内部设定环境变量,用于确认接受终端用户许可协议—— end-user license agreement (EULA)
    -e 'SA_PASSWORD=Passw1rd' 在容器内部设定sa账号的密码
    -e 'MSSQL_PID=Developer' 也是一个环境变量,令SQL Server以开发者版本运行
    -p 1433:1433 映射本地1433端口到容器内部SQL Server的1433端口

    执行上述命令后,再执行docker ps -a,可以查看已启动容器的状态。如果状态是Up的话,说明容器正常运行。

    SQL Server客户端

    由于SQL Server Management Studio没有被移植到其它系统上,所以要想在Mac系统以客户端的方式连接已安装的SQL Server,需要通过第三方工具。sql-cli便是其中一种用nodejs开发的客户端。

    先是用npm方式安装sql-cli。

    npm install -g sql-cli
    

    完成安装后用以下命令进入(所输入的密码需匹配实际设定的):

    mssql -u sa -p Passw1rd
    

    若连接成功,再输入.databases命令,就可以看到熟悉的SQL Server自带的四个数据库。

    Visual Studio Code插件

    使用VSC开发的一大好处是其包含丰富的插件。比如安装完mssql这个插件后,便可以利用VSC的便利,进行SQL程序的开发。

    举个简单的例子:
    ⌘N,新建一个文件
    ⌘K M,将语言模式改为SQL
    ⇧⌘P,打开命令框,输入sql,选中MS SQL: Connect,再选择Create Connection Profile,然后输入一系列数据库连接配置。
    如果最后在VSC的右下角看到的是类似下面的样子,说明已经成功连接数据库。

    接着,在文件内输入SQL语句

    use master
    
    select * from spt_monitor
    

    ⇧⌘E,执行上述语句。可以在新的窗口中看到结果。

    值得一提的是,在结果窗口内,还可以通过文件形式保存记录。

  • 相关阅读:
    [Unity3D]调用Android接口
    android studio build.gradle中 project.ANDROID_BUILD_SDK_VERSION
    java中static{}语句块详解
    [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
    c++中 extern
    android studio一直卡在Gradle:Executing tasks
    Android Studio导入第三方类库的方法
    Android按返回键退出程序但不销毁,程序后台运行,同QQ退出处理方式
    Ubuntu64位下使用eclipse闪退的解决
    Android4.1中BinderService的作用
  • 原文地址:https://www.cnblogs.com/kenwoo/p/9544947.html
Copyright © 2011-2022 走看看