Centos下unixODBC连接数据库 -(三)SQL Server2019

预备环境

  • unixODBC
    可参考该系列第一篇文章:Centos下unixODBC连接数据库 -(一)Oracle12c

一、使用Docker搭建SQLServer(简称mssql)服务

1. 下载SQL Server2019的docker镜像

sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

2. 利用下载好的镜像启动容器,并提供mssql服务

sudo docker run -e "ACCEPT_EULA=Y" \
    -e "SA_PASSWORD=Ly.123456" \
    -e 'MSSQL_PID=Enterprise' \
    -p 1433:1433 --name sqlserver \
    -v /data1/farrisli/dbs/sqlServer/mssql:/var/opt/mssql \
    -d mcr.microsoft.com/mssql/server:2019-latest
// linux平台启动docker的SQL Server服务有坑,会导致后续odbc连接出错。不过按照本文的示例可以避坑~
// SA_PASSWORD后边的密码换成自己的
// -v [宿主机文件位置]:[容器文件位置]  把前者换成自己的

3.进入容器并操作数据库

// 进入容器中的数据库
sudo docker exec -it sqlserver /bin/bash
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Ly.123456"

// mssql默认没有test数据库,需要自己创建。
1> CREATE DATABASE test
2> SELECT Name from sys.Databases
3> GO

二、odbc远程连接

1.下载odbc-mssql的rpm包并安装

参考官方文档即可~安装 Microsoft ODBC Driver for SQL Server (Linux)

2. 在unixODBC的配置文件中添加mssql数据源和驱动

mssql服务启动成功了,我们还需要安装客户端进行远程连接并操纵数据库。客户端包括sqlcmd和isql(odbc-mssql),我们主要介绍后者。

// /etc/odbc.ini
[sqlserver]
Driver = SqlServer
Trace = On
TraceFile = /tmp/sql_server.log
USER = SA
Password = Ly.123456
SERVER = 9.134.218.253
DATABASE=test

// /etc/odbcinst.ini
[SqlServer]
Description=ODBC for SqlServer
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.7.so.1.1
Setup=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.7.so.1.1
FileUsage=1

3.连接测试

isql -v sqlserver SA Ly.123456
image.png

你可能感兴趣的:(Centos下unixODBC连接数据库 -(三)SQL Server2019)