前言
虽然Sql Server支持在Linux环境下运行有很长一段时间了,但网上能搜到的相关开发资料还是比较少,基于网上的一些思路, 这里直接采用unixODBC + msodbcsql驱动包 + soci 封装库的方案来实现。虽然过程还算比较顺利,还是整理记录以下,供需要的人参考。
安装驱动
在线安装不同版本的方案不一样,这里不做介绍,重点介绍离线安装
在线安装可以参考官方文档
离线安装
下载相关文件:
- odbc协议接口包 unixODBC-2.3.7-1.rh.x86_64.rpm
- odbc协议接口开发包 unixODBC-utf16-devel-2.3.1-1.x86_64.rpm
- sql server 驱动包 msodbcsql17-17.6.1.1-1.x86_64.rpm
- sql server 工具包 mssql-tools-17.6.1.1-1.x86_64.rpm
根据自己的系统环境选择
安装
- sudo rpm -iv unixODBC-2.3.7-1.rh.x86_64.rpm
- sudo rpm -ivh unixODBC-utf16-devel-2.3.1-1.x86_64.rpm --nodeps --force
- sudo rpm -iv mssql-tools-17.6.1.1-1.x86_64.rpm
- sudo rpm -iv msodbcsql17-17.6.1.1-1.x86_64.rpm
创建软连接方便使用
- sudo ln -sfn /opt/mssql-tools/bin/sqlcmd /usr/bin/sqlcmd
- sudo ln -sfn /opt/mssql-tools/bin/bcp /usr/bin/bcp
- sudo ln -sfn /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.6.so.1.1 /usr/lib64/libmsodbcsql.so
检测配置文件及位置
odbc_config --odbcinstini
测试odbc接口
sqlcmd -S 127.0.0.1 -U sa -P 123456 -d myDatabase -Q ' select top 10 * FROM student'
如果能正常查询到数据,那么odbc接口环境已经搭好