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位系统的官方不支持,找到一个非官方的 ...
随机推荐
- 浅析Java反射--Java
前言 上篇文章我们提到了可以使用反射机制破解单例模式.这篇文章我们就来谈一谈什么是反射,反射有什么用,怎么用,怎么实现反射. 概述 Java的反射(reflection)机制:是指在程序的运行状态中, ...
- 迷宫问题,打印所有路径,深度搜索,dfs
#include<iostream> using namespace std; int maze [5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0 ...
- 使用git clone 报错curl56 errno 10054解决方法
使用git clone 报错curl56 errno 10054解决方法 ----------------版权声明:本文为CSDN博主「伽马射线爆」的原创文章,遵循CC 4.0 BY-SA版权协议,转 ...
- java使用正则表达式在文档里找匹配
public static void main(String[] args) { String str = "123我是456张三789的学生"; String regex2 = ...
- springboot使用jar包方式启动,找不到resources目录中的配置文件(运行时)FileNotFoundException
将springboot项目打包成jar包,使用 java -jar jar包进行启动,富文本框使用ckeditor+ckfinder: 因为ckfinder自定义配置文件了,上传图片时出现了异常 De ...
- DateFormat类,利用SimpleDateFormat解决系统时间初始(格式化/解析)问题
目标: java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换. 格式化 ...
- SCTF 2018_Simple PHP Web
SCTF 2018_Simple PHP Web 进入环境注意观察url http://www.bmzclub.cn:23627/?f=login.php 有点像是文件读取我们尝试读一下/etc/pa ...
- apollo规划控制视频-13 motion planning with autonomous driving
- 移动端比1px还小的border
巧用border 在移动端 经常出现border,细边框但有的时候 产品大大1px甚至乎会觉得不够细那么要如何写出比1px还要小的border下面是代码 希望对大家有所帮助 .thinner-bord ...
- 获取MCCMNC号
public static boolean isColombiaSpanishSimCard(){ TelephonyManager telManager = (TelephonyMan ...