Linux下使用ODBC连接SQL Server

1. 简介

ODBC是开放数据库连接协议,可以在不同的平台和语言间进行数据库连接。而SQL Server是由Microsoft公司开发的关系型数据库管理系统。在Linux下使用ODBC连接SQL Server本文将进行详细介绍。

2. 安装ODBC

2.1 安装依赖

在Linux下使用ODBC连接SQL Server需要安装ODBC驱动程序,安装前需要先安装ODBC依赖包,安装命令如下:

sudo apt-get install unixodbc unixodbc-dev

其中unixodbc为ODBC的主程序库,unixodbc-dev为开发者使用的ODBC程序库。

2.2 安装ODBC驱动程序

安装ODBC驱动程序可以使用官网提供的下载链接:https://docs.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server-on-linux-and-mac?view=sql-server-ver15

安装典型的ODBC驱动程序需要以下几个步骤:

下载ODBC驱动程序

解压缩

进入解压后的目录,并运行install.sh安装文件进行安装

sudo su 

wget https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/m/msodbcsql17/msodbcsql17_17.7.2.1-1_amd64.deb

dpkg -i msodbcsql17_17.7.2.1-1_amd64.deb

apt-get update

注:操作系统位数与Msodbcsql驱动版本一定要对应。

安装完成后,需要确认ODBC驱动程序已经成功安装。我们可以使用下面的命令来列出当前安装的ODBC驱动程序:

odbcinst -q -d

您应该看到关于ODBC驱动程序的输出信息。

3. 配置ODBC驱动程序

配置ODBC驱动程序需要对odbcinst.ini文件进行修改,此文件的位置在/etc/odbcinst.ini。

在odbcinst.ini文件中添加以下内容:

[ODBC Driver 17 for SQL Server]

Description=Microsoft ODBC Driver 17 for SQL Server

Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.1

UsageCount=1

其中Description是ODBC驱动程序的名称,Driver是ODBC库文件的路径。 放置Xml类型数据到SqlServer需要在ODBC Driver 17 for SQL Server下面再添加一个项:XML Configuration File

[ODBC Driver 17 for SQL Server]

Description=Microsoft ODBC Driver 17 for SQL Server

Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.1

UsageCount=1

XML Configuration File=/etc/xml/msodbcsql17.xml

设置完成后,使用远程连接字符串通过ODBC连接SQL Server的过程与通过本地连接字符串一样,详情见后面SQL Server远程连接操作。

4. SQL Server远程连接操作

4.1 SQL Server授权

在允许远程连接到SQL Server之前,需要先在SQL Server中添加一个允许远程连接的用户,可在SSMS的Security/Logins处查看或右键新建登录。

4.2 配置SQL Server

在Microsoft SQL Server上配置远程连接非常简单,只需在SQL Server Configuration Manager中多配置几个设置即可。

在SQL Server Configuration Manager中打开SQL Server Network Configuration,找到TCP/IP进行配置,设置TCP/IP启用为Yes,设置之后启动SQL Server实例。

4.3 配置连接字符串

配置ODBC驱动程序和SQL Server后,在代码中使用的连接字符串就能直接访问SQL Server了。使用ODBC连接SQL Server的连接字符串示例:

odbc_connect("Driver={ODBC Driver 17 for SQL Server};Server=server_ip,1433;Database=database_name;Uid=username;Pwd=password;");

5. 结语

本文介绍了在Linux下使用ODBC连接SQL Server的步骤,主要包括ODBC安装与配置、SQL Server授权与配置和连接字符串配置。欢迎读者在实践中探索更多高级应用。

数据库标签