1.Apache Doris 码里通过ODBC连接SQL Server
2.mysql-odbc编译
Apache Doris 通过ODBC连接SQL Server
社区中一些用户尝试使用Doris ODBC外表连接SQL Server数据库时,遇到了驱动安装的码里问题。由于作者没有SQL Server的码里环境,幸运的码里是社区中有一位名叫杨辉的用户成功进行了测试并撰写了文档,这对于其他用户来说是码里一份宝贵的参考。
1. 系统环境
CentOS 7.7.
2. 安装包
unixODBC:2.3.9
freetds:1.2.
3. 部署步骤
3.1 安装unixODBC(源码安装)
下载最新的码里为什么猫粮刮掉溯源码unixODBC源码包,放置在如/usr/local的码里目录下,执行以下命令进行安装:
安装目录为/usr/local/unixODBC-2.3.9,码里成功安装后,码里头文件会安装在/usr/include下,码里库文件在/usr/local/lib下,码里可执行文件在/usr/bin下,码里配置文件在/usr/local/etc下。码里
如果编译过程中出现“configure: error: no acceptable C compiler found in $PATH”错误,码里需要安装gcc组件,码里命令如下:
3.2 检查unixODBC安装情况
3.3 安装FreeTDS
下载freetds-1.2.,官网地址为freetds.org/
FreeTDS是sharding分库源码一个Unix和Linux的库集合,通过FreeTDS可以连接到Microsoft SQL Server和Sybase DB。
执行以下命令:
3.4 检查FreeTDS安装情况
直接连接MSSQL数据库:
配置文件连接:
在FreeTDS的配置文件中添加指向具体数据库的访问信息,修改/usr/local/etc/freetds.conf文件,添加如下内容:
4. 配置ODBC连接MSSQL
在/etc/odbcinst.ini(或/usr/local/etc/odbcinst.ini)中登记FreeTDS驱动
在/etc/odbc.ini(或/usr/local/etc/odbc.ini)配置MSSQL数据链接信息
测试ODBC链接,修改Doris BE ODBC配置文件
在doris be conf文件夹中找到dbcinst.ini文件,添加SQL Server驱动信息
建立ODBC资源如下:
mysql-odbc编译
近期工作中需要编译mysql-odbc的驱动库,以下为遇到的问题及解决方法。
首先,分享源码社区参照官网指南进行操作:MySQL :: MySQL Connector/ODBC Developer Guide :: 4.5 Building Connector/ODBC from a Source Distribution on Unix。
由于之前未接触过,对基本概念不甚了解。
首先,需要配置好依赖项目,如libmysqlclient.a。系统配置中需包含iodb或unixODBC。指南中已明确说明。delphi引擎源码
为使用静态库,我下载了mysql-8.0.编译的libmysqlclient库。
解压.src.rpm文件:命令 rpm2cpio ***.src.rpm | cpio -idv。
解压后,会有对应版本的mysql-8.0..tar.gz。注意,这里有boost版本,编译时可能需要指定boost路径。canvas进度源码创建build目录,进入build目录后进行以下操作:
cmake -DWITH_BOOST="/root/lq_workspace/mysql-5.7./boost" ../
然后执行make和make install。注意mysql的安装路径,以便后续编译odbc时使用。例如,我将其放置在/usr/local/mysql/lib中。
接下来,开始编译ODBC:
1. 下载源码,注意编译版本所需的gcc和g++版本。我选择较低版本,非最新版本。
2. 解压后,创建build路径,开始编译。注意以下参数:
cmake ../ -DWITH_UNIXODBC=1 -DDISABLE_GUI=1 -DMYSQL_DIR="/usr/local/mysql/" -DMYSQLCLIENT_STATIC_LINKING=true
编译时出现定义冲突,我将CMakeLists.txt中不需要的部分屏蔽。
cmake时-DWITH_UNIXODBC=1指定使用unixOdbc,默认为iodbc,需在系统上先配置。
-DMYSQL_DIR="/usr/local/mysql/"表示安装libmysqlclient的路径。
-DMYSQLCLIENT_STATIC_LINKING=true连接静态库,默认为动态库。
构建完成后,提示连接libmysqlclient_r.a,低版本区分多线程支持,高版本无需区分。为连接,创建软连接:
ln -s /usr/local/mysql/lib/libmysqlclient.a /usr/local/mysql/lib/libmysqlclient_r.a
准备完成后,执行make生成所需odbc驱动。
配置mysqlodbc后,即可连接mysql。
总结:编译源码时,会遇到各种版本依赖问题,需逐一排查。同时,编译时的编译可选项作用也不容忽视。
2024-12-23 07:23263人浏览
2024-12-23 06:42238人浏览
2024-12-23 06:13126人浏览
2024-12-23 06:02967人浏览
2024-12-23 06:01401人浏览
2024-12-23 05:161512人浏览
據共同社7日報道,日本厚生勞動省當日公布的每月勞工統計初步數據顯示,1月日本實際工資同比下降0.6%,連續22個月減少。責任編輯: 宋得書
中国消费者报南宁讯记者顾艳伟)3月11日,广西市场监管局、广西消委会召开新闻发布,广西市场监管局党组成员、副局长、新闻发言人刘军介绍说,广西今年将进一步加强对食品安全、价格、广告、网络等重点领域专项整
台東立委劉櫂豪先前退出民進黨,以無黨籍身分參選2024立委選戰,結果尋求四連勝失敗,最終台東由國民黨的黃建賓拿下席次,選後將近一週,劉櫂豪才舉行感恩茶會,表示接下來會休息一陣子,面對綠營支持者攻擊是「