预备环境
- 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
网友评论