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位系统的官方不支持,找到一个非官方的 ...
随机推荐
- Mysql之锁(一)
读锁与写锁 读锁:共享锁.Shared Locks.S锁. 写锁:排他锁.Exclusive Locks.X锁. 读锁:只能读不允许写 写锁:不能读也不能写,只允许自己写 但是允许其他事务进行普通的s ...
- mybatis源码之我见
以前一直想看mybatis的源代码,但是一直没找到入口(傻),最近看教程,有些感悟. 和起以前一样,关键代码我会用红色标记. 首先,先贴下我的dao和mapper,代码很简单,和平时写的hello w ...
- Effective Java —— 覆盖equals时总要覆盖hashCode
本文参考 本篇文章参考自<Effective Java>第三版第十一条"Always override hashCode when you override equals&quo ...
- SringBoot之yaml语法
------------恢复内容开始------------ SpringBoot之yaml语法 1.配置文件 官方配置文档太多了,根本记不住! 怎么办呐-->了解原理 SpringBoot使用 ...
- 一个未知宽高的元素在div中垂直水平居中
<body> <div id="#div1"> <img src="img1.png"></img> </ ...
- 让弹幕给 PPD 生个孩子
怎样才能跑起来我写的弹幕程序 资源下载 申请野狗后端云账号注册 创建应用: 复制appId到index.html的 var ref = new Wilddog("https://<ap ...
- 基于融云的IM通讯
一.业务场景 项目的发展需要吧原来自己的写的通讯换为第三方的,多家对比后选择了融云IM通讯,项目要实现的功能这要是单聊.群聊.聊天室.发送的内容为文字.图片.文件.语音通话与视频通话.听起来挺复杂的我 ...
- Exception Handling Considered Harmful
异常处理被认为存在缺陷 Do, or do not. There is no try. - Yoda, The Empire Strikes Back (George Lucas) by Jason ...
- python爬取京东评论
一.分析 1.找到京东商品评论所在位置(记得点击商品评论,否则找不到productPageComments.action) 2.解析文件 打开后发现是json数据,但不是那么规范,所以需要去点前面的 ...
- 一个chome的广告拦截小插件
先附上下载地址:https://chromecj.com/productivity/2015-03/391.html 可以屏蔽绝大多数广告啊,浏览器用起来神清气爽! 下载完成后有一个名字为这个的文件, ...