Apache Doris 通过ODBC连接SQL Server
社区有小伙伴有使用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的更多相关文章
- C#调用ODBC连接SQL Server数据库的存储过程
OdbcConnection con = new OdbcConnection("Driver={SQL Server};server=PC-200201070359;uid=sa;pwd= ...
- Qt通过ODBC连接SQL Server2008实践总结
Qt连接数据库的方式很多,这里说明一种最常用也是最实用的方式,因为这种方式在Windows上开发程序使用起来非常方便,并且也是远程连接数据库所需要用到的方式. 前提工作: 在Win7下安装了SQL S ...
- Ubuntu下erlang连接SQL SERVER 2008
erlang连接SQL Server使用ODBC方法,但在网络上还是缺少资料,自己折腾了2天才成功.现在特记录下来,以供大家借鉴. 基本思路是 erlang odbcserver + unixodbc ...
- Excel VBA 连接各种数据库(三) VBA连接SQL Server数据库
本文主要涉及: VBA中的SQL Server环境配置 VBA连接SQL Server数据库 VBA读写SQL Server数据 如何安装SQL Client 系统环境: Windows 7 64bi ...
- 【原创】Qt 使用ODBC driver 连接SQL Server
最近在做数据库的课程设计.第一个需要解决的问题是使用什么工具来实现这个系统.经过一番资料查找,决定使用SQL Server Express 2012作为服务器,使用Qt作为编写客户端程序语言.问题是c ...
- 细聊Oracle通过ODBC数据源连接SQL Server数据库
类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,文章结尾处的一些扩展有一定实战意 ...
- php连接sql server
这两天有个php连接sql server的项目,顺便学习学习sql server 说明: 1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是 ...
- thinkphp5连接sql server
我用的环境是phpstudy,php版本是5.6,thinkphp连接sql server 方法如下: 1.修改database.php文件里的数据库信息 2.进入php扩展目录.我的是“E:\php ...
- PHP5.6.15连接Sql Server 2008配置方案
php5.6的如果想连接Sql Server 2008数据库,需要手动配置扩展和安装一个驱动. 下载SQL Server Driver for PHP的扩展包,64位系统的官方不支持,找到一个非官方的 ...
随机推荐
- grafana初级入门
grafana初级入门 预备知识 Metrics.Tracing和Logging的区别 监控.链路追踪及日志作为实时监测系统运行状况,这三个领域都有对应的工具和解决方案. Metrics 监控指标的定 ...
- SpringBoot和SpringCloud的区别?
SpringBoot专注于快速方便的开发单个个体微服务. SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来, 为各个微服务之间提供 ...
- ZooKeeper 面试题?
ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群 中各个节点的状态根据节点提交的反馈进行下一步合理操作.最终,将简单易用 的接口和性能高效.功能稳定的系统提供给用户. ...
- requests库获取图片响应流进行转发
遇到了一个问题,使用requests进行转发 requests响应流的时候,出现各种问题,问题的描述没有记录,不过Debug以下终于解决了问题.......下面简单的描述解决方案 response = ...
- 学习 MongoDB(一)
1.介绍 MongoDB是C++语言编写,是一个基于分布式文件存储的开源数据库系统,MongoDB将数据存储为一个文档, 数据结构由键值对(key=>value)组成,MongoDB文档类似于 ...
- 面试题目:手写一个LRU算法实现
一.常见的内存淘汰算法 FIFO 先进先出 在这种淘汰算法中,先进⼊缓存的会先被淘汰 命中率很低 LRU Least recently used,最近最少使⽤get 根据数据的历史访问记录来进⾏淘汰 ...
- 前端性能优化(Application Cache篇)
正巧看到在送书,于是乎找了找自己博客上记录过的一些东西来及其无耻的蹭书了~~~ 小广告:更多内容可以看我的博客 之前在segmentfault上刷问题看到一个关于manifest的问题,很好奇就研究了 ...
- the compatibility problem of ie
ie8hack ie8下的兼容问题处理:背景透明,css3圆角,css3和jquery支持部分css3选择器(例如:nth-child),支持html5的语义化标签,媒体查询@media等. 在htm ...
- 解决Mui中popover 顶部弹出菜单弹出位置不准确以及无法收回的问题
前言 最近公司的项目转向使用Hbuilder开发移动端项目,其中想要通过在顶部标题栏加入弹出菜单的方式,来定位长列表的位置,如图所示. 问题 Mui的功能貌似还不是很完善,在使用这个弹出菜单的时候,发 ...
- 大数据学习之路之ambari的安装
之前按照正常方式安装的hbase不能插入数据 所以今天来尝试下ambari能不能行 已经打了快照 如果不能还能恢复之前的样子