社区有小伙伴有使用Doris ODBC外表连接SQL Server数据库,使用中遇到不知道驱动怎么安装,苦于我这边也没有SQL Server的环境,正好社区有用户使用了这个数据库,也安装ODBC驱动测试成功,贡献了一篇文档,非常感谢来自上海微束信息科技的杨辉的贡献,给社区其他用户提供了参考

1.系统环境

CentOS 7.7.1908

2. 安装包

unixODBC :2.3.9

freetds:1.2.21

3. 部署步骤

3.1 安装unixODBC (源码安装)

下载最新的unixODBC源码包,下载url:http://www.unixodbc.org ,放置目录下,如:/usr/local,然后执行以下命令:

# tar zxvf unixODBC-2.3.9.tar.gz

# cd unixODBC-2.3.9/

# ./configure --prefix=/usr/local/unixODBC-2.3.9 --includedir=/usr/local/include --libdir=/usr/local/lib --bindir=/usr/bin --sysconfdir=/usr/local/etc

# make && make install

安装目录为/usr/local/unixODBC-2.3.9,安装成功后,unixODBC所需的头文件都被安装到了/usr/inlucde下,编译好的库文件安装到了/usr/local/lib 下,与unixODBC相关的可执行文件安装到了/usr/bin下,配置文件放到了/usr/local/etc下。

若./configure编译过程中出现如下错误信息:

configure: error: no acceptable C compiler found in $PATH

需安装gcc组件,命令如下:

# yum –y  install  gcc

也可通过二进制安装,命令如下:

# yum –y install unixODBC unixODBC-devel

3.2 检查unixODBC安装情况

验证安装是否成功

$> odbcinst -j
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

3.3 安装FreeTDS

下载freetds-1.2.21,官网地址:http://www.freetds.org/

FreeTDS是unix 和Linux library的一个集合,通过FreeTDS可以连接到MicrosoftSQL Server 和 Sybase DB

执行以下命令:


# cd freetds-1.2.21/

# ./configure --help查看当前支持的 tdsver 版本,选择对应支持的 MSSQL 版本

# 编译安装,注意 tdsver 版本

# ./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC-2.3.9 --enable-msdblib --with-tdsver=7.4

# make && make install

安装参数说明


--prefix=/usr/local/freetds FreeTDS的默认安装目录 /usr/local/freetds

--enable-msdblib 允许Microsoft 的函数库

--with-tdsver=7.4 指定TDS的协议版本,不填写则默认5.0版,7.5支持MSSQL2008和MSSQL2014

3.4 检查FreeTDS安装情况

直接连接MSSQL数据库:

# /usr/local/freetds/bin/tsql –H 101.133.218.30 –p1433 –Usa –P<sa密码>

配置文件连接:

在 FreeTDS 的配置文件中添加指向具体数据库的访问信息 修改/usr/local/etc/freetds.conf文件,添加如下内容:

[mssqlserver]
host =
port = 1433
tds version = 7.4
client charset = UTF-8

连接:

# /usr/local/freetds/bin/tsql -S mssqlserver  -U sa  -P <sa密码>

4. 配置ODBC连接MSSQL

在/etc/odbcinst.ini(或/usr/local/etc/odbcinst.ini)中登记FreeTDS驱动

# vi /etc/odbcinst.ini
# Driver from FreeTDS package
# setup from FreeTDS package
[FreeTDS] # unixodbc驱动名称
Description=ODBC of FreeTDS for MS SQL 2008 # 简介
Driver=/usr/local/freetds/lib/libtdsodbc.so # 驱动所在位置

在/etc/odbc.ini(或/usr/local/etc/odbc.ini)配置MSSQL数据链接信息

[Data Sources]
erp255= erp255
[erp255]
Driver = /usr/local/freetds/lib/libtdsodbc.so
Description = My Second Test DSN
Trace = No
Server =
Database =
Port = 1433
TDS_Version = 7.4

测试ODBC链接

# isql –v erp255  sa  <sa密码>

修改Doris BE ODBC配置文件

在doris be conf文件夹中找到 dbcinst.ini文件

在文件中添加SQL Server驱动信息

[SQL Server]
Description = ODBC for SQL Server
Driver = /usr/local/freetds/lib/libtdsodbc.so
Setup = /usr/local/freetds/lib/libtds.so
FileUsage = 1

建立ODBC资源如下:

Apache Doris 通过ODBC连接SQL Server的更多相关文章

  1. C#调用ODBC连接SQL Server数据库的存储过程

    OdbcConnection con = new OdbcConnection("Driver={SQL Server};server=PC-200201070359;uid=sa;pwd= ...

  2. Qt通过ODBC连接SQL Server2008实践总结

    Qt连接数据库的方式很多,这里说明一种最常用也是最实用的方式,因为这种方式在Windows上开发程序使用起来非常方便,并且也是远程连接数据库所需要用到的方式. 前提工作: 在Win7下安装了SQL S ...

  3. Ubuntu下erlang连接SQL SERVER 2008

    erlang连接SQL Server使用ODBC方法,但在网络上还是缺少资料,自己折腾了2天才成功.现在特记录下来,以供大家借鉴. 基本思路是 erlang odbcserver + unixodbc ...

  4. Excel VBA 连接各种数据库(三) VBA连接SQL Server数据库

    本文主要涉及: VBA中的SQL Server环境配置 VBA连接SQL Server数据库 VBA读写SQL Server数据 如何安装SQL Client 系统环境: Windows 7 64bi ...

  5. 【原创】Qt 使用ODBC driver 连接SQL Server

    最近在做数据库的课程设计.第一个需要解决的问题是使用什么工具来实现这个系统.经过一番资料查找,决定使用SQL Server Express 2012作为服务器,使用Qt作为编写客户端程序语言.问题是c ...

  6. 细聊Oracle通过ODBC数据源连接SQL Server数据库

    类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,文章结尾处的一些扩展有一定实战意 ...

  7. php连接sql server

    这两天有个php连接sql server的项目,顺便学习学习sql server  说明: 1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是 ...

  8. thinkphp5连接sql server

    我用的环境是phpstudy,php版本是5.6,thinkphp连接sql server 方法如下: 1.修改database.php文件里的数据库信息 2.进入php扩展目录.我的是“E:\php ...

  9. PHP5.6.15连接Sql Server 2008配置方案

    php5.6的如果想连接Sql Server 2008数据库,需要手动配置扩展和安装一个驱动. 下载SQL Server Driver for PHP的扩展包,64位系统的官方不支持,找到一个非官方的 ...

随机推荐

  1. 浅析Java反射--Java

    前言 上篇文章我们提到了可以使用反射机制破解单例模式.这篇文章我们就来谈一谈什么是反射,反射有什么用,怎么用,怎么实现反射. 概述 Java的反射(reflection)机制:是指在程序的运行状态中, ...

  2. 迷宫问题,打印所有路径,深度搜索,dfs

    #include<iostream> using namespace std; int maze [5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0 ...

  3. 使用git clone 报错curl56 errno 10054解决方法

    使用git clone 报错curl56 errno 10054解决方法 ----------------版权声明:本文为CSDN博主「伽马射线爆」的原创文章,遵循CC 4.0 BY-SA版权协议,转 ...

  4. java使用正则表达式在文档里找匹配

    public static void main(String[] args) { String str = "123我是456张三789的学生"; String regex2 = ...

  5. springboot使用jar包方式启动,找不到resources目录中的配置文件(运行时)FileNotFoundException

    将springboot项目打包成jar包,使用 java -jar jar包进行启动,富文本框使用ckeditor+ckfinder: 因为ckfinder自定义配置文件了,上传图片时出现了异常 De ...

  6. DateFormat类,利用SimpleDateFormat解决系统时间初始(格式化/解析)问题

    目标: java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换. 格式化 ...

  7. SCTF 2018_Simple PHP Web

    SCTF 2018_Simple PHP Web 进入环境注意观察url http://www.bmzclub.cn:23627/?f=login.php 有点像是文件读取我们尝试读一下/etc/pa ...

  8. apollo规划控制视频-13 motion planning with autonomous driving

  9. 移动端比1px还小的border

    巧用border 在移动端 经常出现border,细边框但有的时候 产品大大1px甚至乎会觉得不够细那么要如何写出比1px还要小的border下面是代码 希望对大家有所帮助 .thinner-bord ...

  10. 获取MCCMNC号

    public static boolean isColombiaSpanishSimCard(){        TelephonyManager telManager = (TelephonyMan ...