ubuntu 安装 mssql server 及中文乱码解决方法

SQL Server 官网提供了安装方法:

Ubuntu:在 Linux 上安装 SQL Server - SQL Server | Microsoft Learn

安装 SQL Server

要在 Ubuntu 上配置 SQL Server,请在终端中运行以下命令以安装 mssql-server 包 

1、导入公共存储库 GPG 密钥:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

2、注册 SQL Server Ubuntu 存储库:

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"

3、这里是mssql-server-2019版本的

运行以下命令以安装 SQL Server:

sudo apt-get update
sudo apt-get install -y mssql-server

4、包安装完成后,运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。 作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer(免费) 和 Express(免费) 版。

sudo /opt/mssql/bin/mssql-conf setup

选择版本和设置sa密码

5、完成配置后,验证服务是否正在运行:

systemctl status mssql-server --no-pager

6、如果计划远程连接,可能还需要在防火墙上打开 SQL Server TCP 端口(默认值为 1433)。

可根据需要使用以下命令停止、启动或重启 数据库引擎 服务:

sudo systemctl stop mssql-server
sudo systemctl start mssql-server
sudo systemctl restart mssql-server

安装 SQL Server 命令行工具

若要创建数据库,则需要使用可在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 以下步骤将安装 SQL Server 命令行工具:sqlcmd 和 bcp

通过以下步骤在 Ubuntu 上安装 mssql-tools。 如果未安装 curl,可以运行以下代码

sudo apt-get update 
sudo apt install curl

  1. 导入公共存储库 GPG 密钥。

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. 注册 Ubuntu 存储库。

    curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  3. 更新源列表,并使用 unixODBC 开发人员包运行安装命令。 有关详细信息,请参阅安装 Microsoft ODBC Driver for SQL Server (Linux)

    sudo apt-get update 
    sudo apt-get install mssql-tools unixodbc-dev
    

    可以通过运行以下命令将 mssql-tools 更新至最新版本:

    sudo apt-get update 
    sudo apt-get install mssql-tools 
    
  4. 为方便起见,将 /opt/mssql-tools/bin/ 添加到 PATH环境变量,以便可从 bash shell 访问 sqlcmd 或 bcp。

    对于交互式会话,请使用以下命令在 ~/.bash_profile 文件中修改 PATH 环境变量:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    

    对于非交互式会话,请使用以下命令在 ~/.bashrc 文件中修改 PATH 环境变量:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc

使用 SQL Server 名称 (-S)、用户名 (-U) 和密码 (-P) 的相应参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 sa,密码是在安装过程中为 SA 帐户提供的密码。

sqlcmd -S localhost -U sa -P '<YourPassword>'

可以在命令行上省略密码,以收到密码输入提示。

如果以后决定进行远程连接,请为 -S 参数指定计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。

  1. 如果成功,应会显示 sqlcmd 命令提示符:1>

  2. 如果连接失败,先尝试诊断错误消息中所述的问题。 

---------------------------------------------------------------------------------------------------------

问题解决:

写入表中文变乱码

 如果数据库的Collocation是英文的,字段是varchar类型,向表中插入中文数据,会出现乱码。

CREATE DATABASE MyDBTest(库名) COLLATE Chinese_PRC_CI_AS_WS

alter database MyDBTest(库名)  collate Chinese_PRC_CI_AS

参数解释如下:
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份即后缀 含义:
  _BIN 二进制排序
  _CI(CS) 是否区分大小写,CI不区分,CS区分
  _AI(AS) 是否区分重音,AI不区分,AS区分   
  _KI(KS) 是否区分假名类型,KI不区分,KS区分 
        _WI(WS) 是否区分宽度WI不区分,WS区分 
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让重音和非重音字母视为不等,请选择该选项。如果选择该选项,
比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项

还有一种

在建表时,指定某个字段的语言,

方法 COLLATE Chinese_PRC_CS_AS_WS

 create table test

(

a varchar(255) COLLATE Chinese_PRC_CS_AS_WS NULL,

b varchar(255) COLLATE sql_latin1_general_cp1_ci_as NULL

)

.NET6

Json序列化和反序列化中文乱码问题

JsonConvert.DeserializeObject(jsonDataString, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });

JsonConvert.SerializeObject(jsonDataString, new JsonSerializerSettingsS { NullValueHandling = NullValueHandling.Ignore });

注意:只需要指定第二个参数即可

new JsonSerializerSettingsS { NullValueHandling = NullValueHandling.Ignore }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.net亦洪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值