MSSQL的ODBC安裝与配置

MSSQL的ODBC驱动安装方式由多种,本文讲述的是离线安装方式,在线安装方式(适用于能连外网的机器)可以参考微软的官网。

在线安装方式请参考微软官方文档:https://learn.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16

安装包下载:

以redhat(7)系列为例,官方地址如下:

官网下载地址:https://packages.microsoft.com/rhel/7/prod/

官网地址:https://packages.microsoft.com/rhel/7/prod/msodbcsql17-17.9.1.1-1.x86_64.rpm

[!TIP] 其他操作系统平台,则可以通过微软官网选择相应的安装包(官方网址在上面也已经给出),安装步骤与下文类似。

安装MSSQL的ODBC驱动

1、下载并上传文件

将下载好的msodbcsql17-17.9.1.1-1.x86_64.rpm上传到/home/software/目录中

2、执行安装

# rpm 进行安装依赖
[root@k8s-node6 software] yum install glibc e2fsprogs krb5-libs openssl unixODBC-devel

# rpm 进行安装ODBC驱动
[root@k8s-node6 software]# rpm -ivh msodbcsql17-17.9.1.1-1.x86_64.rpm

如果机器能连外网,则可以不用下载上传,直接通过执行如下命令安装

# rpm 进行安装依赖
[root@k8s-node6 software] yum install glibc e2fsprogs krb5-libs openssl unixODBC-devel

[root@k8s-node6 software]# rpm -ivh https://packages.microsoft.com/rhel/7/prod/msodbcsql17-17.9.1.1-1.x86_64.rpm

3、配置驱动信息

  • 安装完毕后,会在unixODBC的odbcinst.ini文件中添加SqlServer的相关驱动信息,如下所示
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.7.so.2.1
UsageCount=1

[!TIP] unixODBC是按照我上文的步骤安装的话odbcinst.ini文件和odbc.ini文件在/etc/目录下 如果是用yum安装的话,配置文件在/etc/目录下

配置SQLSERVER的ODBC数据源

新建系统DSN

编辑unixODBC目录下的odbc.ini文件,在里面添加类似如下内容

[MSSQL-BASE]
Description=MSSQL BASE
Driver=ODBC Driver 17 for SQL Server
Server=tcp:192.168.0.43,1433

说明:

  • MSQL-BASE:是数据源的名称,可以随便取

  • Description: 描述信息,随便写

  • Driver:驱动名称,填写odbcinst.ini文件中的Sqlserver的驱动名称

  • Server:数据库服务器的ip和地址,语法是:tcp:ip,port

验证DSN配置是否正确

执行如下命令:

[root@k8s-node10 instantclient_19_16]# isql -v MSSQL-BASE 用户名 密码

如果能够正确输出如下,则说明配置正确

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| echo [string]                         |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> quit

results matching ""

    No results matching ""