最近需要再linux下开发一个服务链接SQLserver。但是没有相关经验,然后参考了网上的一些博客。有点心得记录如下。
主要参考了这个:linux连接到sqlserver命令行,Linux 下连接sqlserver (上)_廖俊涛的博客-CSDN博客linux连接到sqlserver命令行,Linux 下连接sqlserver (上)_廖俊涛的博客-CSDN博客linux连接到sqlserver命令行,Linux 下连接sqlserver (上)_廖俊涛的博客-CSDN博客
主要思路:采用unixODBC + msodbcsql驱动包 + soci 封装库的方案来实现
1. 安装驱动包:
我使用离线安装:
Index of /rhel/7/prod/Packages/u/ (microsoft.com)
在上面中下载了上图中的2个安装包。
unixODBC-2.3.7-1.rh.x86_64.rpm
unixODBC-utf16-2.3.1-1.x86_64.rpm
在另一个目录Index of /rhel/7/prod/Packages/m/ (microsoft.com)
里下载 msodbcsql17-17.9.1.1-1.x86_64.rpm,mssql-tools-17.9.1.1-1.x86_64.rpm。
安装
yum localinstall unixODBC-2.3.7-1.rh.x86_64.rpm
yum localinstall unixODBC-utf16-2.3.1-1.x86_64.rpm
yum localinstall msodbcsql17-17.9.1.1-1.x86_64.rpm
yum localinstall mssql-tools-17.9.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'
我的测试命令
sqlcmd -S 127.0.0.1 -U userA -P 12345678 -d ZCBYFS -Q 'select * from REGST where SN_num = "67b5857510401606" '
如果能正常查询到数据,那么odbc接口环境已经搭好。
下面需要编译链接soci 然后写代码。